CentOS7.0 LAMP環境搭建(MariaDB)
之前個人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 #設定防火牆開機啟動
二、關閉SELINUXvi /etc/selinux/config
#SELINUX=enforcing #註釋掉
#SELINUXTYPE=targeted #註釋掉
SELINUX=disabled #增加
:wq! #儲存退出
setenforce 0 #使配置立即生效
安裝篇:
一、安裝Apacheyum 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支援 MariaDByum 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 ExecCGI
FollowSymLinks(允許伺服器執行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)教程完成!
相關文章
- php環境搭建---LAMPPHPLAMP
- linux搭建lamp環境LinuxLAMP
- LAMP環境搭建-MySQL5.6LAMPMySql
- 【轉】 Windows下LAMP環境搭建WindowsLAMP
- LAMP(CentOS 7.2)環境下搭建WordPressLAMPCentOS
- CentOS 7.3搭建LAMP環境和WordpressCentOSLAMP
- CentOS7.0安裝配置LAMP伺服器方法(Apache+PHP+MariaDB)CentOSLAMP伺服器ApachePHP
- CentOS7.3 編譯搭建 lamp 環境CentOS編譯LAMP
- Linux下原始碼搭建LAMP環境Linux原始碼LAMP
- lamp環境搭建與phpwind,wordprss實現LAMPPHP
- 搭建lamp環境以及安裝配置phpmyadminLAMPPHP
- Lamp(linux+apache+mysql+php)環境搭建LAMPLinuxApacheMySqlPHP
- 詳解CentOS5.5 下搭建 PHP 環境(最佳的LAMP環境)CentOSPHPLAMP
- CentOS下搭建LAMP環境及遇到的問題CentOSLAMP
- RHEL5.3下搭建LAMP+Django環境(二)LAMPDjango
- CentOS環境下LAMP開發環境的搭建與配置(10分鐘搞定!!!)CentOSLAMP開發環境
- Mac下使用Brew搭建PHP(LNMP/LAMP)開發環境MacPHPLNMPLAMP開發環境
- 在原始碼安裝的LAMP環境中搭建Nagios原始碼LAMPiOS
- HHvm建站環境搭建方法:Nginx、lnmp/lamp等安裝部署NginxLNMPLAMP
- Windows10系統下LAMP開發環境的搭建WindowsLAMP開發環境
- 編譯安裝LAMP環境編譯LAMP
- 編譯LAMP環境之PHP編譯LAMPPHP
- 如何在CentOS 7上搭建LAMP環境(使用YUM或編譯)CentOSLAMP編譯
- 阿里雲體驗實驗室教程《快速搭建LAMP環境》阿里LAMP
- 【Mariadb】利用MariaDB Galera Cluster實現mariadb的叢集環境
- 【原】無腦操作:Centos 7.6 + MariaDB + Rsyslog + LogAnalyzer環境搭建CentOS
- LAMP一體環境快速安裝LAMP
- RedHat 7.2配置LAMP環境下的redius+mysql+openvpn環境RedhatLAMPMySql
- 環境搭建
- Linux|UNIX下LAMP環境的搭建及常見問題[連載2]LinuxLAMP
- windows環境下Django環境搭建WindowsDjango
- 冬季實戰營動手實戰-上雲必備環境準備,動手實操快速搭建LAMP環境LAMP
- centos 7.2 64位 docker安裝lamp環境CentOSDockerLAMP
- LAMP環境(linux+apache+mysql+php)配置LAMPLinuxApacheMySqlPHP
- LAMP架構(LAMP介紹,mysql/mariaDB介紹,Mysql安裝)LAMP架構MySql
- CentOS7.0 (Linux)快速配置Scrapy爬蟲開發環境CentOSLinux爬蟲開發環境
- react環境搭建React
- LNMP 環境搭建LNMP