Centos 7 PHP開發環境搭建
阿新 • • 發佈:2019-01-30
軟體包安裝
安裝Apache
shell# yum install httpd
安裝完成之後使用以下命令檢視Apache版本
shell# apachectl -v
安裝MySQL
由於Centos不再提供MySQL安裝包,需要配置yum源
shell# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
shell# rpm -ivh mysql57-community-release-el7-7.noarch.rpm
接下來安裝MySQL
shell# yum install mysql-community-server
安裝PHP
由於Centos 7提供的PHP版本與需求不一致,需要配置第三方yum源
shell# wget https://mirror.webtatic.com/yum/el7/epel-release.rpm
shell# wget https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
shell# rpm -ivh epel-release.rpm
shell# rpm -ivh webtatic-release.rpm
安裝PHP及一些需要的擴張
shell# yum install php56w php56w-mysqlnd php56w-gd php56w-mbstring
PHP配置
#/etc/php.ini
date.timezone = Asia/Shanghai
MySQL配置
配置預設字符集
#/etc/my.cnf
#在mysqld下新增character_set_server配置引數
[mysqld]
#...
character_set_server=utf8
#...
#新增mysql和client配置項,並設定預設字符集
[mysql]
default-character-set = utf8
[client]
default-character-set = utf8
設定root使用者密碼
啟動mysql服務
shell # service mysqld start
從/var/log/mysqld.log查詢預設的root使用者密碼
shell# grep 'temporary password' /var/log/mysqld.log
修改密碼
shell# mysqladmin -uroot -p 'old-password' password 'new-password'
配置sql_mode
在開發過程中,因為不全用select字句中的列作為group by字句的引數,因此需要把ONLY_FULL_GROUP_BY配置引數去掉。
在MySQL終端使用以下命令檢視當前的sql_mode配置,將ONLY_FULL_GROUP_BY以外的配置引數複製下來
mysql> select @@GLOBAL.sql_mode
將上面複製下來的內容填寫到MySQL配置檔案中
#/etc/my.cnf
#在mysqld下新增sql_mode配置引數
[mysqld]
#...
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
其他
開放80埠。因為Centos 7預設只開放了ssh訪問埠,想要訪問WEB伺服器,需在iptables中開啟80埠。
shell# iptables -A IN_public_allow -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT
配置httpd開機啟動。安裝Apache服務後並沒有自動將httpd服務新增到開機啟動配置中,因此需手動配置。
shell# systemctl enable httpd
目錄寫入許可權。因為Centos預設開啟SELinux,因此如果想在WEB目錄下寫入檔案(如快取/日誌檔案),則需要給該目錄設定SELinux對應的許可權。如下:
shell# chcon -R -t httpd_sys_content_rw_t runtime
shell# chmod 757 runtime