本文介紹如何在 Linux下搭建一個 PHP 環(huán)境筷弦。其中 Linux 系統(tǒng)使用是 CentOS 7.4饱须,部署在阿里云服務(wù)器上。
1吹散,連接登錄服務(wù)器
登錄控制臺弧械,點擊遠(yuǎn)程連接,輸入用戶名和密碼連接服務(wù)器
2空民,安裝Apache
(1)執(zhí)行如下命令進(jìn)行安裝
yum install httpd
(2)開啟 apache 服務(wù)
systemctl start httpd.service
(3)設(shè)置 apache 服務(wù)開機(jī)啟動
systemctl enable httpd.service
(4)在本機(jī)瀏覽器中輸入服務(wù)器的 ip 地址刃唐,可以看到如下地址則說明 Apache 安裝啟動成功了。
3界轩,安裝MySQL(MariaDB)
centos7 內(nèi)置的 MySQL 鏡像已經(jīng)放棄 Oracle 公司的 MySQL画饥,改用 MySQL 的分支數(shù)據(jù)庫 mariaDB。
(1)執(zhí)行如下命令進(jìn)行安裝
yum -y install mariadb mariadb-server
(2)開啟 MySQL 服務(wù)
systemctl start mariadb.service
如果啟動失敗浊猾,可以運行如下命令查看 mariadb 的依賴情況:
yum search mariadb
比如執(zhí)行后會看到如下結(jié)果:
根據(jù)上面信息安裝缺少的依賴包抖甘。安裝完畢后就可以成功啟動 mariadb 了。
yum install mariadb‐bench mariadb‐devel mariadb‐embedded mariadb‐libs mariadb mariadb‐server
(3)設(shè)置開機(jī)啟動 MySQL 服務(wù)
systemctl enable mariadb.service
(4)設(shè)置 root 帳戶的密碼(默認(rèn)是空)
mysql_secure_installation
(5)一切設(shè)置完畢后葫慎,可以使用如下命令驗證下衔彻。
mysql ‐uroot ‐p
(6)創(chuàng)建新用戶
允許本地 IP 訪問 localhost, 127.0.0.1
create user 'test'@'localhost' identified by '123456';
允許外網(wǎng) IP 訪問
create user 'test'@'%' identified by '123456';
(7)為用戶創(chuàng)建數(shù)據(jù)庫
create database test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
(8)為新用戶分配權(quán)限
授予用戶通過外網(wǎng)IP對于該數(shù)據(jù)庫的全部權(quán)限
grant all privileges on `testdb`.* to 'test'@'%' identified by '123456';
授予用戶在本地服務(wù)器對該數(shù)據(jù)庫的全部權(quán)限
grant all privileges on `testdb`.* to 'test'@'localhost' identified by '123456';
刷新權(quán)限
flush privileges;
4薇宠,安裝PHP
(1)執(zhí)行如下命令進(jìn)行安裝
yum install php
(2)安裝 PHP 的 MySQL 擴(kuò)展
yum install php‐mysql
(3)按照其他常用的 PHP 模塊
yum install php‐gd php‐ldap php‐odbc php‐pear php‐xml php‐xmlrpc php‐mbstring php‐snmp php‐soap curl curl‐devel php‐imap
(4)使用 vi /etc/php.ini 命令編輯 php.ini 文件,將 short_open_tag 成 ON 開啟短標(biāo)簽功能艰额。
short_open_tag = ON
(5)重啟 apache 服務(wù)
systemctl restart httpd.service
(6)我們使用 vi 命令新建個 php 頁面測試一下
vi /var/www/html/info.php
文件內(nèi)容如下:
<?php phpinfo(); ?>
保存完畢后澄港,使用瀏覽器訪問這個 /info.php 頁面,我們看到如下 PHP 信息柄沮,則說明 LAMP 環(huán)境已經(jīng)部署成功了回梧。
5,安裝FTP
(1)執(zhí)行如下命令進(jìn)行安裝
yum install vsftpd
(2)使用如下命令增加賬戶铡溪,其中 /var/www/html 是我們的 ftp 目錄漂辐,ftpadmin 為 ftp 用戶名。
useradd ‐d /var/www/html ‐s /sbin/nologin ftpadmin
(3)給 ftpadmin 這個用戶設(shè)置密碼
passwd ftpadmin
(4)給 ftp 目錄修改權(quán)限棕硫,否則無法上傳文件
chmod o+w /var/www/html/
(5)為安全起見髓涯,我們還需要使用 vi 命令編輯 vsftpd 的配置文件。
vi /etc/vsftpd/vsftpd.conf
修改如下內(nèi)容:禁止匿名用戶登錄哈扮,不可以讓 ftp 用戶跳出自己的家目錄
#修改
anonymous_enable=NO #禁止匿名訪問
data_connection_timeout=5 #數(shù)據(jù)連接超時時間纬纪。如果在使用vsftpd上傳下載碎小文件的時候容易發(fā)生超時中斷的問題,將120改成5或者更小為佳
#使ftp用戶始終在項目部署的根目錄范圍內(nèi)滑肉,禁止訪問系統(tǒng)其它文件
chroot_local_user=YES #打開注釋
chroot_list_enable=YES #打開注釋
chroot_list_file=/etc/vsftpd/chroot_list #打開注釋(沒有此目錄自己創(chuàng)建并添加ftpadmin用戶)
allow_writeable_chroot=YES #添加
#默認(rèn)保持不變
xferlog_enable=YES #啟用上傳和下載的日志功能包各。它可以對用戶的操作進(jìn)行日志記錄,當(dāng)出現(xiàn)問題的時候可以通過日志排查問題
(5)啟動 vsftpd 服務(wù)靶庙。啟動完畢后我們就可以使用 FTP 工具來連接了问畅。
systemctl start vsftpd.service
(6)設(shè)置開機(jī)自動啟動 FTP 服務(wù)
systemctl enable vsftpd.service
(7)可以安裝ftp客戶端測試連接是否有錯
yum -y install ftp
ftp 127.0.0.1
6.安裝phpmyadmin
yum install phpmyadmin php-mcrypt
同時會在 Apache 的配置文件目錄中自動創(chuàng)建虛擬主機(jī)配置文件 /etc/httpd/conf.d/phpMyAdmin.conf(區(qū)分大小寫)。默認(rèn)情況下六荒,CentOS 上的phpMyAdmin只允許從回環(huán)地址(127.0.0.1)訪問护姆。為了能遠(yuǎn)程連接,你需要改動它的配置
vi /etc/httpd/conf.d/phpMyAdmin.conf
修改配置文件掏击,如下:
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
# Require ip 127.0.0.1 #注釋掉
# Require ip ::1 #注釋掉
Require all granted #新添加
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#Require ip 127.0.0.1 #注釋掉
#Require ip ::1 #注釋掉
Require all granted #新添加
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
然后重啟Apache服務(wù)器
systemctl restart httpd
然后就可以通過瀏覽器訪問http://服務(wù)器ip地址/phpmyadmin訪問進(jìn)行數(shù)據(jù)庫操作了
7.配置https
(1)安裝SSL
yum install mod_ssl openssl
(2)到阿里云AC證書服務(wù)平臺申請免費的證書卵皂,申請成功后下載Apache的證書解壓后放到httpd根目錄新建cert文件夾下,然后修改是httpd/conf/conf.d/ssl.conf的證書文件路徑
在配置文件中查找以下配置語句:
# 添加 SSL 協(xié)議支持協(xié)議砚亭,去掉不安全的協(xié)議
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 證書公鑰配置
SSLCertificateFile cert/public.pem
# 證書私鑰配置
SSLCertificateKeyFile cert/214051257410097.key
# 證書鏈配置灯变,如果該屬性開頭有 '#'字符,請刪除掉
SSLCertificateChainFile cert/chain.pem
注:如果是配置域名訪問還需更改配置文件中的severname
( 3 ) 重啟 Apache捅膘。
( 4) 通過 https 方式訪問您的站點,測試站點證書的安裝配置添祸。
8.無法遠(yuǎn)程連接數(shù)據(jù)庫問題
默認(rèn)情況下數(shù)據(jù)庫都是只能允許在本地連接的,我們可以為某數(shù)據(jù)庫配置一個賬號進(jìn)行遠(yuǎn)程連接操作篓跛,首先登陸MySQL
mysql -u root -p
然后創(chuàng)建一個遠(yuǎn)程連接用戶
create user 'test'@'%' identified by '123456'
然后給這個用戶授權(quán)
grant all privileges on testdb.* to test@'%' identified by '123456'
刷新系統(tǒng)權(quán)限表
mysql> flush privileges;
附:修改文件時膝捞,回車后即可修改,修改完后按esc鍵—— shift+: ——輸入wq——回車,即可退回命令行蔬咬。