Install mysql on Debian Linux(Not finished yet)

Installing Apache, MySQL, and PHP on Linux

                                                                         

Get the sourceballs -

 

The first thing you need to  do is obtain the sourceballs for each package, we will be compiling each package  from scratch here, and, while there are also binary packages available for some  distributions, I find your end results are usually better when building each  package for your machine. Make sure you get the source files.


Here are the links and the  package versions available at the time this tutorial was written


Apache
URL : http://httpd.apache.org/download.cgi
Current Version – 2.0.48


MySQL
URL : http://www.mysql.com/downloads/mysql-4.0.html
Current Version – 4.0.16


PHP
URL : http://www.php.net/downloads.php
Current Version – 4.3.4


Ok, so you've got the files  now what ?, well now the fun begins..


Installation –


The first thing we need to  do is extract the sourceballs so we can work with the files included in them.  Beginning now we will be working as root, so open a terminal window, change to  the directory in which you saved your downloaded files and become root by  issuing the su command, enter the root password and you should be good to  go.


To extract the sourceballs  type the following commands;


#tar -zxf  httpd-2.0.48.tar.gz (enter)


#tar -zxf  mysql-4.0.16.tar.gz (enter)


#tar -zxf  php-4.3.4.tar.gz (enter)


The commands above will  extract the sourceballs into their own separate directories. Now lets move on to  compiling the source into usable programs. We'll start  with Apache.


Compiling Apache –


Change into the directory  created when you untarred the sourceball as follows;


#cd httpd-2.0.48 (enter)


Follow this command by  typing;


#./configure –prefix=/usr/local/apache2  –enable-mods-shared=most (enter)


This tells Apache to  install in the /usr/local/apache2 directory, and to build most of the  available loadable modules. There are a ton of options with Apache, but these  should work for the most part. Once the configure is done and the system returns  the prompt to you, issue the following command;


#make


This will take a few  minutes, once the prompt comes back again issue the following command;


#make install


Wait for a few minutes and  viola !, Apache is installed with the exception of a few minor changes we still  need to make. They are as follows..


Issue the following  command;


#vi /usr/local/apache2/conf/httpd.conf


Check to make sure the  following line is present in the file at the bottom of the LoadModule list, if  it is not there add it;


LoadModule php4_module  modules/libphp4.so


Find the DirectoryIndex  line and edit it so it looks like the following;


DirectoryIndex  index.html index.html.var index.php


Find the AddType  application section and add the following line;


AddType application/x-httpd-php  .php


Thats it, save the file and  we are done with Apache. Now, on to MySQL !


Compiling MySQL -


Change into the MySQL  source directory as follows;


#cd mysql-4.0.16 (enter)


Follow this command by  typing;


#./configure –prefix=/usr/local/mysql  –localstatedir=/usr/local/mysql/data –disable-maintainer-mode –with-mysqld-user=mysql  –enable-large-files-without-debug (enter)


Sit back and wait for a  while while configure does its thing, once the system returns the prompt to you  issue the following command;


#make (enter)


Unless you have a very fast  machine this will take some time, so spend time with your family, grab a beer,  go for a walk, or whatever you're into. When you get back, assuming the system  has returned the prompt to you issue the following command;


#make install (enter)


Cool !, MySQL is installed,  there are only a couple things left to do to get it working, first we need to  create a group for MySQL as follows;


#/usr/sbin/groupadd  mysql (enter)


Then we create a user  called mysql which belongs to the mysql group;


#/usr/sbin/useradd -g  mysql mysql (enter)


Now we install the database  files as follows;


#./scripts/mysql_install_db  (enter)


Then we make a couple minor  ownership changes;


# chown -R root:mysql /usr/local/mysql  (enter)


<
p># chown -R mysql:mysql /usr/local/mysql/data  (enter)


Last but not least, we use  vi to add a line the ld.so.conf file as follows;


#vi /etc/ld.so.conf


And we add the following  line;


/usr/local/mysql/lib/mysql


Thats it, MySQL is  installed, you can run it by issuing the following command;


#/usr/local/mysql/bin/mysqld_safe  –user=mysql &


And as long as we're here  we might as well set a root password for MySQL as follows;


#/usr/local/mysql/bin/mysqladmin  -u root password new_password


Where new_password is the  password you want to use.


Ok, so far so good, on to  PHP !


Compiling PHP -


Change into the PHP source  directory as follows;


#cd php-4.3.4 (enter)


Follow this command by  typing;


#./configure –prefix=/usr/local/php  –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local/mysql (enter)


Once the prompt comes back  to you issue the following command;


#make (enter)


Hang out for awhile, and  then yep, you guessed it, once you have the prompt back;


#make install (enter)


Once the install finishes  and you have the prompt back issue the following command;


#cp php.ini-recommended  /usr/local/php/lib/php.ini (enter)


Then edit that file;


#vi /usr/local/php/lib/php.ini  (enter)


And change the following;


Find the doc_root  section and enter the correct path for the directory which serves your web  content, such as;


doc_root= "/usr/local/apache2/htdocs/"


(this is default for  apache2)


Then find the file_uploads  section and change it to reflect the following;


file_uploads=Off


(for security reasons)


Thats if for PHP, now lets  see if it all works..


Testing –


Assuming your MySQL process  is still running from earlier, lets start Apache by issuing the following  command;


#/usr/local/apache2/bin/apachectl  start (enter)


This starts the Apache web  server, now change into the following directory;


#cd /usr/local/apache2/htdocs  (enter)


And using vi create a file  called test.php;

 

#vi test.php

 

Add the following line to  the file;


<?php phpinfo(); ?>


Save the file, then fire up  your browser and point it to localhost/test.php. You should see a listing  of all kinds of cool info about Apache, PHP, etc. If you do then your set !, if  you don't, then take a look at your logs for Apache and MySql, and remember Google  is your friend. But hopefully you do, and now you have a fully functioning  setup.


Ok, one last step and we'll  be done, you have everything running now, but you had to start Apache and MySql  manually, that's something you don't want to have to remember to do everytime  you reboot your machine, so lets fix it.

 


Articles from the official website:

 Causes of Access denied Errors

        If you encounter problems when you try to connect to the MySQL         server, the following items describe some courses of action you         can take to correct the problem.      

  •             Make sure that the server is running. If it is not running,             you cannot connect to it. For example, if you attempt to             connect to the server and see a message such as one of those             following, one cause might be that the server is not             running:          

    shell> mysqlERROR 2003: Can't connect to MySQL server on 'host_name' (111)shell> mysqlERROR 2002: Can't connect to local MySQL server through socket'/tmp/mysql.sock' (111)

                It might also be that the server is running, but you are             trying to connect using a TCP/IP port, named pipe, or Unix             socket file different from the one on which the server is             listening. To correct this when you invoke a client program,             specify a –port option to indicate the             proper port number, or a –socket option to             indicate the proper named pipe or Unix socket file. To find             out where the socket file is, you can use this command:          

    shell> netstat -ln | grep mysql 
  •             The grant tables must be properly set up so that the server             can use them for access control. For some distribution types             (such as binary distributions on Windows, or RPM             distributions on Linux), the installation process             initializes the mysql database containing             the grant tables. For distr
    ibutions that do not do this, you             must initialize the grant tables manually by running the             mysql_install_db script. For details, see             Section 2.4.16.2, “Unix Post-Installation Procedures”.          

                One way to determine whether you need to initialize the             grant tables is to look for a mysql             directory under the data directory. (The data directory             normally is named data or             var and is located under your MySQL             installation directory.) Make sure that you have a file             named user.MYD in the             mysql database directory. If you do             not, execute the mysql_install_db script.             After running this script and starting the server, test the             initial privileges by executing this command:          

    shell> mysql -u root test 

                The server should let you connect without error.          

  •             After a fresh installation, you should connect to the server             and set up your users and their access permissions:          

    shell> mysql -u root mysql 

可是偶的mysql 还是不能正常工作,郁闷阿

# /usr/local/mysql/bin/mysqladmin -u root test
/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

Leave a comment

0 Comments.

Leave a Reply


[ Ctrl + Enter ]

Canonical URL by SEO No Duplicate WordPress Plugin