在CentOS6.4中安裝配置LAMP環境的詳細步驟


  本文詳細介紹了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/iptables
3 
4 加入下列兩行
5 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
6 -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/config
2 
3 注釋掉如下兩行,在行首添加#注釋。
4 SELINUX=enforcing
5 SELINUXTYPE=targeted
6 
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.cnf
11 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 stop
2 /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:80
10 修改成 ServerName www.XXXX.com:80 
11 其中的“www.XXXX.com”自己的域名,沒有可設置為localhost,如圖
12 
13 設置Apache服務開機啟動
14 chkconfig httpd on
15 
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 OSServerTokens Prod  5 防止錯誤頁顯示操作系統名字
 6 
 7 76行: 修改 KeepAlive OffKeepAlive On  8 允許程序性聯機
 9 
10 83行: 修改 MaxKeepAliveRequests 100MaxKeepAliveRequests 1000
11 增加同時連接數
12 
13 331行: 修改 Options Indexes FollowSymLinksOptions Includes ExecCGI FollowSymLinks 14 允許服務器執行CGI及SSI,防止列出目錄
15 
16 338行: 修改 AllowOverride NoneAllowOverride All 17 允許.htaccess
18 
19 402行: 修改 DirectoryIndex index.html index.html.varDirectoryIndex index.php Default.php index.html index.htm Default.html Default.htm 20 添加php默認文檔
21 
22 536行:  修改 ServerSignature On 為 ServerSignature Off 
23 防止錯誤頁顯示Apache版本
24 
25 554行: 修改 Options Indexes MultiViews FollowSymLinksOptions MultiViews FollowSymLinks 26 不顯示樹狀目錄結構
27 
28 759行: 根據需要設置為 AddDefaultCharset UTF-8 或者 AddDefaultCharset GB2312 29 筆者大多數時候都在使用UTF-8編碼,所以不進行修改
30 
31 796行: 修改 #AddHandler cgi-script .cgiAddHandler cgi-script .cgi .pl
32 允許擴展名為.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 = PRCdate.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 = Off
10 禁止顯示php版本的信息
11 
12 745行: 設置 magic_quotes_gpc = On
13 打開magic_quotes_gpc,用於防止SQL注入
14 
15 229行: 設置 short_open_tag = ON
16 支持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 <?php
2     phpinfo();
3 ?>

 

  保存退出后在瀏覽器中輸入localhost查看php信息:

 

 

 

   設置文檔文件夾權限:

chown apache.apache -R /var/www/html

 

LAMP服務器配置完成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM