Preparation:
1. Configure the firewall and enable port 80 and Port 3306.
Vim/etc/sysconfig/iptables
-A input-m state -- state NEW-m tcp-p tcp -- dport 80-j ACCEPT # Allow port 80 to pass the firewall
-A input-m state -- state NEW-m tcp-p tcp -- dport 3306-j ACCEPT # Allow Port 3306 to pass the firewall
Note: Many users add these two rules to the last line of the firewall configuration, resulting in firewall startup failure,
The correct rule should be added to the default port 22.
As follows:
############################# The following figure shows the firewall rules after they are added ### ###############
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
* Filter
: Input accept [0: 0]
: Forward accept [0: 0]
: Output accept [0: 0]
-A input-m state -- state ESTABLISHED, RELATED-j ACCEPT
-A input-p icmp-j ACCEPT
-A input-I lo-j ACCEPT
-A input-m state -- state NEW-m tcp-p tcp -- dport 22-j ACCEPT
-A input-m state -- state NEW-m tcp-p tcp -- dport 80-j ACCEPT
-A input-m state -- state NEW-m tcp-p tcp -- dport 3306-j ACCEPT
-A input-j REJECT -- reject-with icmp-host-prohibited
-A forward-j REJECT -- reject-with icmp-host-prohibited
COMMIT
######################################## ################################
/Etc/init. d/iptables restart # restart the firewall to make the configuration take effect.
2. Disable SELINUX
Vi/etc/selinux/config
# SELINUX = enforcing # Comment out
# SELINUXTYPE = targeted # Comment out
SELINUX = disabled # Add
: Wq # save, close
Shutdown-r now # restart the system
Installation:
1. Install Apache
Yum install httpd # enter Y as prompted to install httpd.
/Etc/init. d/httpd start # start Apache
Note: An error is prompted after Apache is started:
Starting httpd: cocould not reliably determine the server's fully qualif domain name, using: 1 for ServerName
Solution:
Vi/etc/httpd/conf/httpd. conf # Edit
Find # ServerName www.111cn.net
Change to ServerName www.111cn.net # set it as your domain name here. If there is no domain name, you can set it to localhost
: Wq! # Save and exit
Chkconfig httpd on # set to boot
/Etc/init. d/httpd restart # restart Apache
II. Install MySQL
1. Install MySQL
Yum install mysql-server # ask if you want to install it. Enter Y to install it automatically until the installation is complete.
/Etc/init. d/mysqld start # start MySQL
Chkconfig mysqld on # set to boot
Cp/usr/share/mysql/my-medium.cnf/etc/my. cnf # Copy the configuration file (note: If there is a my. cnf under the/etc directory by default, directly overwrite it)
2. Set a password for the root account
Mysql_secure_installation
Press enter and enter Y as prompted.
Enter the password twice and press enter.
Enter Y as prompted
Thanks for using MySQL!
After setting the MySql password, restart MySQL:
/Etc/init. d/mysqld restart # restart
/Etc/init. d/mysqld stop # stop
/Etc/init. d/mysqld start # start
3. Install PHP5
1. Install PHP5
Yum install php
Enter Y as prompted until installation is complete.
2. Install the PHP component to make PHP5 support MySQL
Yum install php-mysql php-gd libjpeg * php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
Select the above installation package for installation.
Enter Y and press enter as prompted.
/Etc/init. d/mysqld restart # restart MySql
/Etc/init. d/httpd restart # restart Apche
Configuration
1. Apache configuration
Vi/etc/httpd/conf/httpd. conf # edit the file
ServerTokens OS is changed to ServerTokens Prod in Row 44 (the server operating system name is not displayed when an error page appears)
ServerSignature On is changed to ServerSignature Off On Line 1 (Apache version is not displayed On the error page)
Modify Options Indexes FollowSymLinks to: Options shortdes ExecCGI FollowSymLinks on Line 3 (allow the server to execute CGI and SSI, and disable directory listing)
# Modify AddHandler cgi-script. cgi to AddHandler cgi-script. cgi. pl in line 3 (run a CGI script with the extension of. pl)
AllowOverride None is changed to AllowOverride All (allow. htaccess) in row 338)
Adddefadefacharset UTF-8 in line 759 is changed to: adddefadefacharset GB2312 (add GB2312 as the default encoding)
Modify Options Indexes MultiViews FollowSymLinks to Options MultiViews FollowSymLinks in row 554 (tree directory structure is not displayed in the browser)
Modify DirectoryIndex index.html. var to DirectoryIndex index.html index.htm Default.html Default.htm in row 402.
Index. php Default. php index.html. var (set the Default homepage file and add index. php)
Modify KeepAlive Off to KeepAlive On (allow procedural connection) in line 76)
Modify MaxKeepAliveRequests 100 in line 83 to: MaxKeepAliveRequests 1000 (increase the number of simultaneous connections)
: Wq! # Save and exit
/Etc/init. d/httpd restart # restart
Rm-f/etc/httpd/conf. d/welcome. conf/var/www/error/noindex.html # Delete the default test page
II. php configuration
Vi/etc/php. ini # Edit
Date. timezone = PRC # Remove the semicolon in front of row 946 and change it to date. timezone = PRC.
Disable_functions = passthru, exec, system, chroot, scandir, chgrp, chown, shell_exec, proc_open, proc_get_status, ini_alter, ini_alter, disconnect, dl, openlog, syslog, readlink, symlink, release, delimiter, delimiter, dll, popen, disk_free_space, checkdnsrr, checkdnsrr, getservbyname, getservbyport, delimiter, posix_getgrnam, posix_getgroups, posix_getlogin, delimiter, delimiter, posix_getpid, delimiter, delimiter, posix_getpwuid, delimiter, posix_getsid, posix_getuid, delimiter, posix_kill, posix_mkfifo, delimiter, posix_setsid, posix_setuid, posix_strerror, posix_times, posix_ttyname, posix_uname
# List the functions that PHP can disable in row 3. If some programs need this function, delete it and disable it.
Expose_php = Off # Disable Display of php version information in line 432
Magic_quotes_gpc = On # enable magic_quotes_gpc On Line 1 to prevent SQL injection
Short_open_tag = ON # php short labels are supported in line 229
Open_basedir =. :/tmp/# set in row 380 to allow access to the current directory (that is, the directory where the PHP script file is located) and/tmp/directory, which can prevent php Trojans from being cross-site, if there is a problem with the installation program after the change (for example, Zhimeng content management system), you can log out of this line or directly write the program directory/data/www.qianyunlai.com/:/tmp/
: Wq! # Save and exit
/Etc/init. d/mysqld restart # restart MySql
/Etc/init. d/httpd restart # restart Apche
Test
Cd/var/www/html
Vi index. php # enter the following content
<? Php
Phpinfo ();
?>
: Wq! # Save and exit
Enter the server IP address in the client browser to view the configuration information!
Note: the default program directory of apache is/var/www/html.
Permission settings: chown apache. apache-R/var/www/html
Note: The PHP version is PHP5.3.3.