圖文詳解linux如何搭建lamp服務環境
- 2016-05-03 15:48:00
- 薛才杰 原創
- 9320
企業網站建設必然離不開服務器運維,一個穩定高效的服務器環境是保證網站正常運行的重要前提。本文小編將會詳細講解 Linux系統上如何搭建配置高效的lamp服務環境,并在 lamp環境中搭建起企業自己的網站。
先簡要概述下本文要點:(操作系統采用 CentOS6.5 x64)
1. 分別安裝搭建 lamp服務環境;
2. 采用 lamp一鍵安裝包搭建環境;
3. 在lamp環境中初步搭建起一個網站;
一、 分別安裝搭建 lamp服務環境
準備工作:
1
、配置防火墻,開啟
80端口、
3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允許
80端口通過防火墻
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允許
3306端口通過防火墻
將以上內容添加到 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 的下面
/etc/init.d/iptables restart # 最后重啟防火墻使配置生效
2
、關閉
SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq #保存,關閉
shutdown -r now #重啟系統
安裝:
1 、安裝 Apache
卸載自帶
httpd: yum remove httpd
yum install httpd #根據提示,輸入
Y安裝即可成功安裝
/etc/init.d/httpd start #啟動
Apache
備注:
Apache啟動之后會提示錯誤:
正在啟動
httpd:httpd: Could not reliably determine theserver’s fully qualif domain name, using ::1 for ServerName
解決辦法:
vi /etc/httpd/conf/httpd.conf #編輯
找到
#ServerName www.example.com:80
修改為
ServerName www.osyunwei.com:80 #這里設置為你自己的域名,如果沒有域名,可以設置為
localhost
:wq! #保存退出
chkconfig httpd on #設為開機啟動
/etc/init.d/httpd restart #重啟
Apache
2 、安裝 MySQL
先卸載自帶 mysql:
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
安裝:
yum install mysql mysql-server #
詢問是否要安裝,輸入
Y即可自動安裝
,直到安裝完成
/etc/init.d/mysqld start #啟動
MySQL
chkconfig mysqld on #設為開機啟動
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷貝配置文件(注意:如果
/etc目錄下面默認有一個
my.cnf,直接覆蓋即可)
為
root賬戶設置密碼:
mysql_secure_installation
回車,根據提示輸入
Y
輸入
2次密碼,回車
根據提示一路輸入
Y
最后出現:
Thanks for using MySQL!
MySql密碼設置完成,重新啟動
MySQL:
/etc/init.d/mysqld restart #重啟
/etc/init.d/mysqld stop #停止
/etc/init.d/mysqld start #啟動
3
、安裝
PHP5
yum install php
根據提示輸入
Y直到安裝完成
安裝
PHP組件,使
PHP5 支持
MySQL
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pearphp-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
這里選擇以上安裝包進行安裝
根據提示輸入
Y回車
/etc/init.d/mysqld restart #重啟
MySql
/etc/init.d/httpd restart #重啟
Apche
相關配置:
1
、
Apache配置
vi /etc/httpd/conf/httpd.conf #編輯文件
ServerTokens OS 在
44行 修改為:
ServerTokensProd (在出現錯誤頁的時候不顯示服務器操作系統的名稱)
ServerSignature On 在
536行 修改為:
ServerSignatureOff (在錯誤頁中不顯示
Apache的版本)
Options Indexes FollowSymLinks 在
331行 修改為:
Options i n c l u d es e x e cCGI FollowSymLinks(允許服務器執行
CGI及
SSI,禁止列出目錄)
#AddHandler cgi-script .cgi 在
796行 修改為:
AddHandler cgi-script .cgi .pl (允許擴展名為
.pl的
CGI腳本運行)
AllowOverride None 在
338行 修改為:
AllowOverrideAll (允許
.htaccess)
AddDefaultCharset UTF-8 在
759行 修改為:
AddDefaultCharset GB2312 (添加
GB2312為默認編碼)
Options Indexes MultiViews FollowSymLinks 在
554行 修改為
Options MultiViews FollowSymLinks(不在瀏覽器上顯示樹狀目錄結構)
DirectoryIndex index.html index.html.var 在
402行 修改為:
DirectoryIndex index.html index.htm Default.html Default.htm
index.php Default.php index.html.var
(設置默認首頁文件,增加
index.php)
KeepAlive Off 在
76行 修改為:
KeepAliveOn (允許程序性聯機)
MaxKeepAliveRequests 100 在
83行 修改為:
MaxKeepAliveRequests 1000 (增加同時連接數)
:wq! #保存退出
/etc/init.d/httpd restart #重啟
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #刪除默認測試頁
2
、
php配置
vi /etc/php.ini #編輯
date.timezone = PRC #在
946行 把前面的分號去掉,改為
date.timezone = PRC
disable_functions = p a s s t h r u,e x e c,s y s t e m,chroot,scandir,chgrp,chown,shell_e x e c, p r o c _ o p e n,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,pope p a s s t h r u,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
#
在
386行 列出
PHP可以禁用的函數,如果某些程序需要用到這個函數,可以刪除,取消禁用。
expose_php = Off #在
432行 禁止顯示
php版本的信息
magic_quotes_gpc = On #在
745行 打開
magic_quotes_gpc來防止
SQL注入
short_open_tag = ON #在
229行支持
php短標簽
open_basedir = .:/tmp/ #在
380行 設置表示允許訪問當前目錄
(即
PHP腳本文件所在之目錄
)和
/tmp/目錄
,可以防止
php木馬跨站
,如果改了之后安裝程序有問題
(例如:織夢內容管理系 統
),可以注銷此行,或者直接寫上程序的目錄
/data/www.osyunwei.com/:/tmp/
:wq! #保存退出
/etc/init.d/mysqld restart #重啟
MySql
/etc/init.d/httpd restart #重啟
Apche
測試:
cd /var/www/html
vi index.php #輸入下面內容
<?php
phpinfo();
?>
:wq! #保存退出
在客戶端瀏覽器輸入服務器
IP地址,可以看到如下圖所示相關的配置信息!
其他:
后續安裝 PDO_MySQL拓展模塊,只需要: yum install php-mysql
手動安裝會出現錯誤( configure: error: mysql_query missing!?)
二、采用 lamp一鍵安裝包搭建環境
很多朋友可能認為分別安裝 Apache、 mydql、 php很麻煩,還需要手動配置。所以接下來小編帶領大家了解下如何用 lamp一鍵安裝包搭建服務環境。
部署 LNMP/LAMP/LNMPA一鍵包
1 、腳本下載解壓和執行安裝
wget http://mirrors.linuxeye.com/lnmp-full.tar.gz
tar xzf lnmp-full.tar.gz
cd lnmp
./install.sh
2 、安裝過程的項目選擇
因為這個腳本的特點不是從開始就無人值守的,需要根據我們的環境進行選擇各種版本,所以選擇的過程比較復雜,我們要看清楚,在這個過程中我們安裝 LAMP環境。
(1) 、升級系統和端口、 WEB服務器安裝設置
開始過程我們看到上圖,官方建議不更新系統,那我們就不更新。我們可以直接在安裝腳本過程中直接修改 ROOT端口,這個非常不錯,要不我們在服務器安全事項處理的時候也需要修改端口,不要用默認的 22。 WEB服務器的安裝,因為我們要安裝 LAMP環境,所以 NGINX不安裝, APACHE安裝自己希望的版本,我這里安裝 2.4。
(2) 、數據庫版本和 PHP版本選擇安裝
這里我們還要選擇數據庫和 PHP版本的安裝。
(3) 、其他相關服務器組件的安裝
我們根據自己的網站環境需求環境,配置需要的組件,小編個人建議是如果有需要用到就安裝,沒有必要用到就不要安裝。
第三、安裝完畢后一些部署工作
設置完畢之后,然后就是自動無人值守的安裝,根據系統的速度需要執行 20-30分鐘,總之我們就等待,等待看到上圖的界面就標示安裝完畢,我們可以輸入 y重啟服務器,然后檢測下是否安裝完整。
我們在服務器配置環境之后還是需要做幾個工作的,最為主要的是刪除默認安裝的首頁,在 home/wwwroot/default中的首頁,以及需要修改 PHPMYADMIN的目錄路徑,原因大家都懂的,不懂也要做。
三、在 lamp環境中初步搭建起一個網站
這里我們以主流的 蟬知系統為例,直接在剛才一鍵安裝好的 LAMP環境中搭建網站。
蟬知 企業建站系統下載 : www.dailysportsnews24.com/download/chanzhi5.2-126.html/?u=xcj
蟬知系統使用手冊: http://www.dailysportsnews24.com/book/chanzhieps.html/?u=xcj
下載解壓后,將 s y s t e m文件夾移到 www文件夾中,這個 www文件夾就是我么一會需要上傳的網站文件。
LAMP 環境添加站點:
因為一鍵包不同于 WEB面板,我們添加站點需要用到命令,好歹比手工部署好一些,用到下面的命令。
cd /root/lnmp
./vhost.sh
我們將 www下的文件上傳到網站根目錄下,訪問網站地址進行安裝。
啟動安裝程序
訪問您的域名 http://domain/install.php。如果您將蟬知安裝在二級目錄,還需要再加上二級路徑。
檢查模塊和目錄權限
備注:如果模塊或者目錄檢查不通過的話,請按照系統給出的提示進行操作以解決問題。
配置數據庫
備注:如果之前有安裝過蟬知系統,可以選中 “清空現有數據 ”按鈕進行重新安裝。
保存配置文件
備注:系統會自動嘗試保存配置文件。如果由于權限的問題,請按照提示拷貝文本框里面的配置內容,手工保存到 config/my.php文件中。
設置管理員帳號
登錄后臺