本文詳細介紹了CentOS6.4系統中安裝LAMP服務并對其進行配置的過程,即安裝Apache+php+MySQL,參照了網上大神的設置,其他linux發行系統可以參考~
在本文中部分命令操作需要root權限,輸入‘su -’命令后輸入密碼即可切換root身份。
一、修改設置對安裝做準備1. 防火墻設置
設置/etc/sysconfig/iptables文件允許80端口和3306端口。因為80端口是http協議所使用的端口,如果防火墻禁止80端口的話,網站配置好了也無法從外網訪問。3306端口是MySql數據庫的默認端口。使用VIM打開iptables文件并添加規則:
1 打開iptables文件進行修改2 vim /etc/sysconfig/iptables3 4 加入下列兩行5 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT6 -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
添加好后文件應該如下圖,如果以前修改過該文件責可能和筆者的圖中略有不同:

修改完成注意檢查下拼寫,不要有錯誤。保存之后重啟防火墻生效:
/etc/init.d/iptables restart
2. 關閉SELINUX
SELinux 是 2.6 版本的 Linux內核中提供的強制訪問控制(MAC)系統。對于目前可用的Linux安全模塊來說,SELinux 是功能最全面,而且測試最充分的。SELinux提供了比默認ugo+rwx更詳細的權限控制。打開SELinux后,即使因為0day漏洞被提權,相應程序的權限在SELinux控制下也不會造成太大影響。但是在實際應用情況中,SELinux并不實用,沒人會閑的去用0day漏洞攻擊個人電腦,業務服務器基本上都是用負載均衡設備做流量分發,對外僅開放了僅有的幾個端口。所以綜合安全性和復雜性來說,SELinux的性價比并不高。修改/etc/selinux/config文件關閉SELinux,設置后如圖:
1 vim /etc/selinux/config2 3 注釋掉如下兩行,在行首添加#注釋。4 SELINUX=enforcing5 SELINUXTYPE=targeted6 7 在后面增加:8 SELINUX=disabled

關閉SELinux后需要重啟系統,輸入‘shutdown -r now’重啟系統。
二、開始安裝軟件1. MySql的安裝和配置
安裝MySql:
1 通過yum軟件包管理器安裝MySql,管理器會自動安裝依賴項,遇到詢問直接輸入y確認,直到顯示“Complete!”完成。 2 yum install mysql mysql-server 3 4 啟動MySql 5 /etc/init.d/mysqld start 6 7 設置MySql服務為開機啟動 8 chkconfig mysqld on 9 10 復制MySql默認配置文件,直接覆蓋/etc/my.cnf11 cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
MySql設置:
設置MySql管理員root賬戶的密碼。
輸入如下命令后需要連續輸入兩次密碼確認,有詢問輸入Y同意即可,成功后顯示Thanks for using MySQL!。
mysql_secure_installation
設置成功后需要重啟MySql服務:
1 /etc/init.d/mysqld stop2 /etc/init.d/mysqld start
2. Apache服務的安裝和配置
1 安裝httpd 2 yum install httpd 3 4 啟動Apache服務 5 /etc/init.d/httpd start 6 7 編輯apache設置 8 vim /etc/httpd/conf/httpd.conf 9 查找 #ServerName www.example.com:8010 修改成 ServerName www.XXXX.com:80 11 其中的“www.XXXX.com”自己的域名,沒有可設置為localhost,如圖12 13 設置Apache服務開機啟動14 chkconfig httpd on15 16 重啟Apache服務17 /etc/init.d/httpd restart

安裝好Apache服務后,打開系統自帶的火狐瀏覽器,打開localhost這個網址即可看到Apache的示例網頁。

3.安裝PHP
安裝PHP非常簡單:
遇到詢問直接輸y確認yum install php
安裝PHP插件:
插件包括MySql支持等,遇到詢問一如既往的y確認~~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
安裝完成后不要忘了重啟Apache和MySql:
/etc/init.d/mysqld restart/etc/init.d/httpd restart
到此軟件的安裝就結束了,接下來進行配置和測試。
三、修改Apache和PHP的配置1.修改Apache配置
作為一個架設在公網上的服務器,我們可不能讓服務器所使用的軟件版本或者錯誤等信息暴露網頁上,這就需要對Apache進行設置:
1 編輯文件Apache設置文件 2 vi /etc/httpd/conf/httpd.conf 3 4 44行: 修改 ServerTokens OS 為 ServerTokens PRod 5 防止錯誤頁顯示操作系統名字 6 7 76行: 修改 KeepAlive Off 為 KeepAlive On 8 允許程序性聯機 9 10 83行: 修改 MaxKeepAliveRequests 100 為 MaxKeepAliveRequests 100011 增加同時連接數12 13 331行: 修改 Options Indexes FollowSymLinks 為 Options Includes ExecCGI FollowSymLinks14 允許服務器執行CGI及SSI,防止列出目錄15 16 338行: 修改 AllowOverride None 為 AllowOverride All17 允許.htaccess18 19 402行: 修改 DirectoryIndex index.html index.html.var 為 DirectoryIndex index.php Default.php index.html index.htm Default.html Default.htm20 添加php默認文檔21 22 536行: 修改 ServerSignature On 為 ServerSignature Off 23 防止錯誤頁顯示Apache版本24 25 554行: 修改 Options Indexes MultiViews FollowSymLinks 為 Options MultiViews FollowSymLinks26 不顯示樹狀目錄結構27 28 759行: 根據需要設置為 AddDefaultCharset UTF-8 或者 AddDefaultCharset GB231229 筆者大多數時候都在使用UTF-8編碼,所以不進行修改30 31 796行: 修改 #AddHandler cgi-script .cgi 為 AddHandler cgi-script .cgi .pl32 允許擴展名為.pl的CGI腳本運行
修改完成后保存退出并重啟Apache,刪除測試網頁:
/etc/init.d/httpd restart刪除測試網頁rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html
2. 修改PHP配置
1 編輯php設置文件 2 vim /etc/php.ini 3 4 946行: 修改 ;date.timezone = PRC 為 date.timezone = PRC (去掉分號) 5 6 386行: 修改 disable_functions = 為 disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname 7 設置PHP的禁用函數,若程序中需要使用的函數可以刪除掉。 8 9 432行: 設置 expose_php = Off10 禁止顯示php版本的信息11 12 745行: 設置 magic_quotes_gpc = On13 打開magic_quotes_gpc,用于防止SQL注入14 15 229行: 設置 short_open_tag = ON16 支持php短標簽17 18 380行: 設置 open_basedir = .:/tmp/ 19 設置允許訪問的目錄和/tmp/目錄,防止php木馬跨站
修改完成保存后重啟服務:
/etc/init.d/mysqld restart/etc/init.d/httpd restart四、 測試PHP探針頁面
輸入“vim/var/www/html/index.php”添加PHP探針頁面并輸入以下代碼:
1 <?php2 phpinfo();3 ?>
保存退出后在瀏覽器中輸入localhost查看php信息:

設置文檔文件夾權限:
chown apache.apache -R /var/www/htmlLAMP服務器配置完成。
新聞熱點
疑難解答