Build a dynamic web site driven by Apache+php3+mysql

Source: Internet
Author: User
Tags install php mysql client mysql in php and php and mysql unique id web hosting mysql database

Apache is currently the most widely used Web server, PHP3 is an ASP-like scripting language, the current trend is much more than Perl, and MySQL is a lightweight database system, especially for Web site building, these 3 software are free software, is to set up a database-driven dynamic web site optimal scheduling.

This article only describes the installation of these 3 software, for PHP and MySQL programming and use see other information.

How do I get the software?

There are many ways to get these 3 packages, and most Linux distributions are now bundled with these 3 packages, such as Redhat. The installation method described in this article is based on downloaded packages from the official site of these software, and also describes their installation and configuration for Redhat Linux 6.1.

The official sites for these 3 software are:

Software official website current version download

Apache http://www.apache.org/httpd.html 1.3.9 here

PHP http://www.php.net/3.0.13 Here

MySQL http://www.mysql.com 3.22.29 here

From the above website, you should be under the following package:

Software file name

Apache Apache_1.3.9.tar.tgz (Apache source code package)

PHP php-3.0.13.tar.gz (PHP3 source code package)

MySQL mysql-3.22.29-1.i386.rpm (MySQL server)

MYSQL-CLIENT-3.22.29-1.I386.RPM (MySQL client utility)

mysql-devel-3.22.29-1.i386.rpm (MySQL contains files and libraries)

MYSQL-SHARED-3.22.29-1.I386.RPM (client shared library)

second, the installation of MySQL

First check to see if your system has MySQL installed:

       
        
         
        Rpm-q mysqlrpm-q mysql-clientrpm-q mysql-develrpm-q mysql-shared
       
        

If your version is older than 3.22.29 and you want to upgrade MySQL to version 3.22.29, first remove all MySQL packages with rpm-e and:

       
        
         
        Rpm-i mysql-3.22.29-1.i386.rpm rpm-i mysql-client-3.22.29-1.i386.rpm rpm-i mysql-devel-3.22.29-1.i386.rpm rpm-i MySQL -shared-3.22.29-1.i386.rpm
       
        

or upgrade directly to version 3.22.29:

       
        
         
        RPM-UVH mysql-3.22.29-1.i386.rpm rpm-uvh mysql-client-3.22.29-1.i386.rpm RPM-UVH MySQL-devel-3.22.29-1.i386.rpm rpm- UVH mysql-shared-3.22.29-1.i386.rpm
       
        

Install the MySQL server, the installer prompts you to set the root password, for MySQL installation post setup, see .

The above installation will be the MySQL execution file in the "/usr/bin" directory, include files in the "/usr/include/mysql" directory, the library file in the "/usr/lib/mysql" directory.

three, unzip Apache and PHP and compile and install

As mentioned above, download the Apache and PHP source code packages, add the downloaded files in the directory "/apps", enter the "/apps" directory, with LS Check you have these two files:

Apache_1.3.9.tar.gz

Php-3.0.13.tar.gz

1. Unzip Apache and configure

Extract the apache_1.3.9.tar.gz with the following command

Tar zxvf apache_1.3.9.tar.gz

It explains the compressed files in the apache_1.3.9 directory. Then configure Apache:

CD apache_1.3.9 (directory that goes into the Apache source code tree)

./configure--prefix=/www (if you want to install Apache finally installed in the directory "/www")

2. Decompress php3 and configure and compile

Cd.. (Return to Superior directory)

Tar zxvf php-3.0.13.tar.gz (Unzip to directory "php-3.0.13")

CD php-3.0.13 (Directory of source code entering PHP3)

./configure--with-mysql--with-apache=. /apache_1.3.9

Make

Make install

3. Compiling and installing Apache

Cd..

./configure--prefix=/www--activate-module=src/module/php3/libphp3.a

Make

Make install (Install Apache to the "/www" directory)

The above method is to compile PHP into the Apache target code, so its efficiency and performance than the DSO way slightly better. The method of PHP as a module of Apache, see the following introduction.

4. Configure Apache

CD/WWW (to Apache home directory)

CD conf (enter profile directory)

Edit the "httpf.conf" file to remove the comment from the "AddType application/x-httpd-php3. PhP3" line, so that the file with the last suffix ". PhP3" will be processed as a PHP script file.

5, start Apache

Turn off the running httpd (sometimes started at system startup) and restart the new httpd:

Cd/www/bin./apachectl start

Use the PS aux command to check that the httpd has started correctly.

6, testing

Lynx localhost

If you can see the page display, you have correctly set up and started the httpd.

7. Test PHP

Cd/www/htdocs (enter Default Web hosting directory)

Create a EX.PHP3 file that reads as follows:

       
        
         
        $myvar = "hello,world!"; Echo $myvar; Phpinfo ();?>
       
        

Run some column commands to check if the output is "Hello,world" and the current PHP settings:

Lynx LOCALHOST/EX.PHP3

If so, it means your Apache can already handle PHP script files. Congratulations to you!

8. Test MySQL Database

After installing MySQL in the above method, create a Mydb.dump file containing the following contents:

       
        
         
        CREATE TABLE Employees (  ID tinyint (4) DEFAULT ' 0 ' not NULL auto_increment,  varchar, last  varchar (2 0), Address  varchar (255),  position varchar (m),  PRIMARY KEY (id),  UNIQUE ID (id)); INSERT into Employees values (1, ' Bob ', ' Smith ', ' 128 here St., CityName ', ' Marketing Manager '); INSERT into Employees VALUES (2, ' John ', ' Roberts ', ' There St, Townville ', ' telephonist '); INSERT into Employees VALUES (3, ' Brad ', ' Johnson ', ' 1/34 nowhere Blvd, Sn Owston ', ' doorman ');
       
        

Then use this SQL script to create a database mydb in MySQL with the following command under the shell:

Mysql-u root-pyourpasswd MyDB

Here, if you set the root user password after the installation of MySQL, yourpasswd to your password, if not set the password for root, then remove the-p option.

After creating the above database, create a php3 script file, such as TEST.PHP3, which reads as follows:

       
        
         
        $db = mysql_connect ("localhost", "root"); mysql_select_db ("MyDB", $db); $result = mysql_query ("SELECT * FROM Employees", $ db);p rintf ("Name:%s\n", mysql_result ($result, 0, "the"));p rintf ("Last":%s\n, Mysql_result ($result, 0, " Last "));p rintf (' Address:%s\n ', mysql_result ($result, 0, address));p rintf (" Position:%s\n ", mysql_result ($result, 0 , "position"));? >
       
        

If root sets the password, the $DB = mysql_connect ("localhost", "root") is added to the above:

$db = mysql_connect ("localhost", "root", "yourpasswd");

Then test test.php3:

Lynx LOCALHOST/TEST.PHP3

The results of this display should be:

       
        
         
        Name:boblast name:smithaddress:128 here St, citynameposition:marketing Manager
       
        

If it is, your php3 has been able to handle the MySQL database, congratulations again!!

c. Compile php3 into a module of Apache

The above method is to compile the php3 into Apache binary code, the advantage is simple configuration, high efficiency, but a more flexible approach is to PHP3 as a DSO (Dynamic Shared Object) module, as described in the Apache document. Here's how to compile php3 into one of Apache's modules.

1. Configure Apache

Enter the Apache source code directory and run the following command (assuming the httpd is installed under the "/web" directory)

CD apache_1.3.9

./comfigure--prefix=/www--enable-shared=max

Make (Compile Apache)

Make install (install Apache in/web directory)

2. Configure PHP3 and compile and install

Assume that you have the Apache directory (please remember this directory), into the PHP3 source directory for configuration and compilation:

       
        
         
        CD php-3.0.13./configure--with-apxs=/web/bin/apxs  --with-config-file-path=/web   --with-mysqlmake  (compile) make install (install libphp3.so)
       
        

The above configuration is to put the php3 configuration file "Php3.ini" in the/web directory, you must manually php3 source directory under the "Php3.ini-dist" copy to the/web directory, modify/web/ The httpd.conf file in the Conf directory, add the following text so that Apache supports the PhP3 script file, which is automatically modified by the make install:

Addmodule mod_php3.c

LoadModule Php3_module libexec/libphp3.so

And

AddType application/x-httpd-php3. php3 reboot httpd:

/web/bin/apachectl Stop (STOP)

/web/bin/apachectl Start (start)

3, testing

You can still use the example above to test the php3 script, if correct, you have installed correctly!

Iv. How to install and configure from the RPM package

In many Linux distributions are bundled with Apache, PhP3 and MySQL, because MySQL itself is distributed in the RPM format, so its installation has been described above, the following is only the Apache and PHP installation and configuration. This article is based on Redhat Linux 6.1. The PHP Designer does not recommend php3 from the RPM configuration, but it will solve the problem in PHP4. Since it is cumbersome to reconfigure and install PHP from RPM, the following methods are for informational purposes only.

1, you need the rpm file

In order to reconfigure and compile PHP, you should download the PHP3 source code rpm:php-3.0.12.6.src.rpm. The package can generate the following RPM:

       
        
         
        php-3.0.12-6.i386.rpm php-manual-3.0.12-6.i386.rpmphp-imap-3.0.12-6.i386.rpm php-ldap-3.0.12-6.i386.rpmphp-pgsql-3.0.12-6.i386.rpm
       
        

Before installing the new RPM, you should first delete the PHP packages you already have:

Rpm-e php-imap php-ldap php-pgsql php php-manual

recompiling PHP requires the following packages:

Apache Apache-devel

PostgreSQL Postgresql-devel

Mysql-devel

2, reconfigure, compile and install php3

To install the PHP3 source code package:

Rpm-i php-3.0.12-6.src.rpm

It installs the PHP source code in the/usr/src/redhat directory, enters the directory, configures and compiles according to the following command:

Cd/usr/src/redhat/specs

VI Php.spec

Edit the Php.spec file, find the%build section, and Add in the Options section about./configure:

--WITH-MYSQL=/USR \

option, which indicates that PHP supports the MySQL database.

       
        
         
        %BUILDCD imap-4.5make rpm_opt_flags= "$RPM _opt_flags" LNPCD. Autoconfcflags= "-fpic"./configure--prefix=/usr \    --with-apxs=/usr/sbin/apxs \    --with-config-file-path=/ ETC/HTTPD \    --enable-safe-mode \    --with-exec-dir=/usr/bin \    --with-system-regex \    --disable-debug \    --with-zlib \    --enable-debugger \    --enable-magic-quotes \    --with-mysql=/usr    \ Enable-track-vars
       
        

Save changes, rebuild RPM package:

Rpm-bb/usr/src/redhat/specs/php.spec

Finally, the corresponding binary RPM packages can be found in the/usr/src/redhat/rpms/i386 directory to reinstall them:

Rpm-i/usr/src/redhat/rpms/i386/*

3. Configure httpd.conf and srm.conf

After installing PHP, you should configure HTTPD to support PHP3 scripts. First edit the/etc/httpd/conf/httpd.conf, find the following two lines, and remove the previous annotation symbol #:

Addmodule mod_php3.c

LoadModule Php3_module modules/libphp3.so

In compiling/etc/httpd/conf/srm.conf, remove the following line of annotation characters #:

AddType application/x-httpd-php3. php3

In this way, httpd is treated as a PHP script file for a file ending with. php3.

4, testing

You can use the above two examples to do the test.

5, Summary

Some Linux publishers, such as Redhat, have bundled the three packages in their distribution, but PHP's RPM package was initially unsupported by MySQL databases. In addition, the original use of mod_php3 or mod_php is obsolete, and the new format is libphp3.so, so no mod_php3 or mod_php is already included in the Redhat standard binary distribution.

If you want to use the latest version of these three software all the time, the first two methods are most appropriate.

The above only describes the installation of these three software, you must configure the PHP and MySQL security settings.



Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.