CentOS7.0 LAMP環境搭建(MariaDB)

weixin_34194087發表於2016-07-08

之前個人blog,文章的製作。將所有的部落格將轉移至簡書。

開機啟動 #vim /etc/rc.d/rc.local

chkconfig mysqld on chkconfig httpd on

一.安裝mysql,直接用yum安裝即可,mysql在centos7.0版本中被mariadb替代了。
yum install mysql-server mysql
安裝好了,選擇修改mysql預設的root使用者的密碼,啟動mysql服務。
service mysqld start
二.安裝apache,直接yum安裝,與mysql安裝方式相近。
安裝完畢,開啟apache服務。
systemctl start httpd.service
測試以下apache是否安裝成功,開啟瀏覽器,輸入http://localhost,是否顯示apache的主頁。
三.安裝php,用yum安裝,方式類似。
四.新增php對mysql的支援,yum安裝之。
yum install php-mysql
注:若要開啟php其他的功能,可自己另外新增相關模組。
五.apache新增虛擬目錄
由於apache預設工程目錄在/var/www下,而該目錄下的所有檔案屬主都是root使用者,這樣我們每次編寫php檔案都要獲取到root許可權進行編輯,很是麻煩,因此可不可以我們自定義一個目錄,讓apache也識別出這個目錄。
apache的服務配置檔案在/etc/httpd/conf/httpd.conf中,編輯httpd.conf檔案,用Alisa來對你的自定義目錄進行重新命名,便於我們訪問該目錄下的檔案。
示例:
Alias /bbs "/home/xxx/WorkSpace/www"
<Directory "/home/xxx/WorkSpace/www"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
我這裡選擇我的自定義路徑是/home/xxx/WorkSpace/www,在該目錄下新建一個index.html檔案,目錄對應的別名是/bbs,訪問是直接輸入:http://localhost/bbs即可對真實目錄/home/xxx/WorkSpace/www下的檔案進行訪問。
之後你有以下工作要做:
1.檢查自定義目錄/home/xxx/WorkSpace/www的各級許可權,對照著/var/www/html更改,分別修改目錄許可權和檔案許可權。
2.若還是出現這個錯誤,那麼八成就是SELinux搞的鬼了,首先,用 semanage fcontext -l | grep '/var/www'獲知預設 /var/www 目錄的 SELinux 上下文,會得到一堆類似下面列舉出來的資訊:
/var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:so
從中可以看出apache只能訪問包含httpdsyscontent_t標籤的檔案。若我們想訪問自定義的網站目錄,那麼就需要給這個目錄下的檔案增加這個標籤,分為兩步實現:
首先為自定義目錄下的檔案新增預設標籤型別,semanage fcontext -a -t``httpd_sys_content_t '/home/xxx/WorkSpace/www(/.*)?',然後用新的標籤型別標註已有檔案:restorecon -R -v /home/xxx/WorkSpace/www,之後apache就可以使用該目錄了。
2.到這一步出現AH00132錯誤程式碼,那麼設定SELinux對目錄下的檔案可讀,即可訪問。
setsebool -P httpd_read_user_content 1
到此,在輸入http://localhost/bbs,就可訪問到index.html檔案的內容了。

準備篇:
一、配置防火牆,開啟80埠、3306埠
CentOS 7.0預設使用的是firewall作為防火牆,這裡改為iptables防火牆。
1、關閉firewall:
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall開機啟動
2、安裝iptables防火牆
yum install iptables-services #安裝 vi /etc/sysconfig/iptables #編輯防火牆配置檔案# 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
:wq! #儲存退出
systemctl restart iptables.service #最後重啟防火牆使配置生效
systemctl enable iptables.service #設定防火牆開機啟動
二、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #註釋掉
#SELINUXTYPE=targeted #註釋掉
SELINUX=disabled #增加
:wq! #儲存退出
setenforce 0 #使配置立即生效
安裝篇:
一、安裝Apache
yum install httpd #根據提示,輸入Y安裝即可成功安裝
systemctl start httpd.service #啟動apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重啟apache
systemctl enable httpd.service #設定apache開機啟動
在客戶端瀏覽器中開啟伺服器IP地址,會出現下面的介面,說明apache安裝成功

二、安裝MariaDB
CentOS 7.0中,已經使用MariaDB替代了MySQL資料庫
1、安裝MariaDB

yum install mariadb mariadb-server #詢問是否要安裝,輸入Y即可自動安裝,直到安裝完成
systemctl start mariadb.service #啟動MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重啟MariaDB
systemctl enable mariadb.service #設定開機啟動
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf #拷貝配置檔案(注意:如果/etc目錄下面預設有一個my.cnf,直接覆蓋即可)
2、為root賬戶設定密碼

mysql_secure_installation
回車,根據提示輸入Y
輸入2次密碼,回車
根據提示一路輸入Y
最後出現:Thanks for using MySQL!
MySql密碼設定完成,重新啟動 MySQL:
systemctl restart mariadb.service #重啟MariaDB
三、安裝PHP
1、安裝PHP

yum install php #根據提示輸入Y直到安裝完成
2、安裝PHP元件,使PHP支援 MariaDB
yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
#這裡選擇以上安裝包進行安裝,根據提示輸入Y回車
systemctl restart mariadb.service #重啟MariaDB
systemctl restart httpd.service #重啟apache
配置篇
一、Apache配置
vi /etc/httpd/conf/httpd.conf #編輯檔案
ServerSignature On #新增,在錯誤頁中顯示Apache的版本,Off為不顯示
Options Indexes FollowSymLinks #修改為:Options Includes ExecCGIFollowSymLinks(允許伺服器執行CGI及SSI,禁止列出目錄)#AddHandler cgi-script .cgi #修改為:AddHandler cgi-script .cgi .pl (允許副檔名為.pl的CGI指令碼執行)
AllowOverride None  #修改為:AllowOverride All (允許.htaccess) AddDefaultCharset UTF-8 #修改為:AddDefaultCharset GB2312 (新增GB2312為預設編碼)
#Options Indexes FollowSymLinks #修改為 Options FollowSymLinks(不在瀏覽器上顯示樹狀目錄結構)
DirectoryIndex index.html #修改為:DirectoryIndex index.html index.htm ``Default.html Default.htm index.php(設定預設首頁檔案,增加index.php)
MaxKeepAliveRequests 500 #新增MaxKeepAliveRequests 500 (增加同時連線數) :wq! #儲存退出
systemctl restart httpd.service #重啟apache
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #刪除預設測試頁
二、php配置
vi /etc/php.ini #編輯 date.timezone = PRC #把前面的分號去掉,改為date.timezone = PRC 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

列出PHP可以禁用的函式,如果某些程式需要用到這個函式,可以刪除,取消禁用。

expose_php = Off #禁止顯示php版本的資訊
short_open_tag = ON #支援php短標籤
open_basedir = .:/tmp/ #設定表示允許訪問當前目錄(即PHP指令碼檔案所在之目錄)和/tmp/目錄,可以防止php木馬跨站,如果改了之後安裝程式有問題(例如:織夢內容管理系統),可以登出此行,或者直接寫上程式的目錄/data/www.osyunwei.com/:/tmp/
:wq! #儲存退出
systemctl restart mariadb.service #重啟MariaDB
systemctl restart httpd.service #重啟apache
測試篇
cd /var/www/html vi index.php #輸入下面內容 <?php phpinfo(); ?>
:wq! #儲存退出
在客戶端瀏覽器輸入伺服器IP地址,可以看到如下圖所示相關的配置資訊!

注意:apache預設的程式目錄是/var/www/html
許可權設定:chown apache.apache -R /var/www/html
至此,CentOS 7.0安裝配置LAMP伺服器(Apache+PHP+MariaDB)教程完成!

相關文章