Centos7以上版本搭建Apache+PHP+Mysql+PhpMyAdmin環(huán)境
我只是放在自己的簡(jiǎn)書 ,方便學(xué)習(xí)的。。。。。。
作為一家創(chuàng)業(yè)公司,盼客科技在開發(fā)Y米 App(一個(gè)撩妹紙的App)的時(shí)候,跟大多數(shù)創(chuàng)業(yè)團(tuán)隊(duì)一樣,選擇了阿里云作為公司網(wǎng)站和App的服務(wù)端。當(dāng)時(shí)最新版的CentOS是7.2,我們毫不猶豫地選擇這個(gè)最新的版本。但是對(duì)于一個(gè)新手來(lái)說,在阿里云上遇到了很多坑,完全按照阿里云上的幫助和使用說明,基本上是跑不起來(lái)的,特別是最后的兩個(gè)步驟,是很多技術(shù)文章都沒提到過的。廢話少說,直接來(lái)實(shí)操的:
一、購(gòu)買阿里云ECS服務(wù)
根據(jù)自己的產(chǎn)品對(duì)CPU、帶寬、內(nèi)存等硬件配置的要求,選擇對(duì)應(yīng)的配置,調(diào)試期間我們一般選擇1核1G 1M,默認(rèn)選擇40G云盤。這樣一個(gè)月也就幾十塊的服務(wù)端成本。產(chǎn)品上線后,我們?cè)俑鶕?jù)用戶導(dǎo)入規(guī)模,初期選擇了4核8G?10M?的配置。
二、準(zhǔn)備安裝調(diào)試環(huán)境的工具
Xshell 5比阿里云自己提供的Web 命令行工具方便太多了。而Xftp 5又是Xshell 5的最佳搭檔,在Xshell 5中配置好阿里云分配的IP地址和賬號(hào)密碼后,能夠快速通過Xftp 5管理阿里云服務(wù)器上的配置文件和數(shù)據(jù),包括后期用到的PhpMyAdmin,也會(huì)經(jīng)常用到Xftp 5。
三、檢查系統(tǒng)環(huán)境
1、檢查是否安裝過Apache
rpm -qa | grep httpd
或者:
apachectl -v
或者:
httpd -v
?3、檢查是否安裝過Mysql
service mysqld start
如果沒有安裝,請(qǐng)按照下面的步驟安裝上這些軟件,?
四、安裝Apache、PHP、Mysql
?1、安裝apache
[root@localhost ~]# yum -y install httpd
安裝提示如下:
Installed:
??httpd.x86_64 0:2.4.6-40.el7.centos.4 ?????????????????????????????????????????
Dependency Installed:
??apr.x86_64 0:1.4.8-3.el7 ?????????????????????apr-util.x86_64 0:1.5.2-6.el7 ??
??httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 ???mailcap.noarch 0:2.1.41-2.el7 ??
Complete!
此時(shí)的提示即表示Apache安裝成功了!
2、安裝PHP
[root@localhost ~]# yum -y install php
安裝提示如下:
Installed:
??php.x86_64 0:5.4.16-36.3.el7_2 ???????????????????????????????????????????????
Dependency Installed:
??libzip.x86_64 0:0.10.1-8.el7 ????????????php-cli.x86_64 0:5.4.16-36.3.el7_2 ??
??php-common.x86_64 0:5.4.16-36.3.el7_2 ??
Complete!
此時(shí)的提示即表示PHP安裝成功了!
?3、安裝php-fpm
[root@localhost ~]# yum -y install php-fpm
安裝提示如下:
Installed:
??php-fpm.x86_64 0:5.4.16-36.3.el7_2 ???????????????????????????????????????????
Complete!
此時(shí)的提示即表示PHP-fpm安裝成功了!
?4、安裝MySql
[root@localhost ~]# yum -y install mysql
安裝提示如下:
Installed:
??mariadb.x86_64 1:5.5.50-1.el7_2 ??????????????????????????????????????????????
Dependency Updated:
??mariadb-libs.x86_64 1:5.5.50-1.el7_2 ?????????????????????????????????????????
Complete!
此時(shí)的提示即表示MySql安裝成功了!
7.2版本的Centos已經(jīng)把mysql更名為mariadb,表示安裝成功!
5、安裝 mysql-server
CentOS 7.2 版本將MySQL數(shù)據(jù)庫(kù)軟件從默認(rèn)的程序列表中移除,用mariadb代替了,CentOS7.2 ?配置教程上,大多都是安裝mariadb,因?yàn)閏entos7默認(rèn)將mariadb視作mysql。
安裝mariadb
[root@localhost ~]# yum install -y mariadb
安裝成功!?。?/p>
6、安裝 php-mysql
[root@localhost ~]# yum -y install php-mysql
安裝提示如下:
Installed:
??php-mysql.x86_64 0:5.4.16-36.3.el7_2 ?????????????????????????????????????????
Dependency Installed:
??php-pdo.x86_64 0:5.4.16-36.3.el7_2 ???????????????????????????????????????????
Complete!
此時(shí)的提示即表示php-mysql安裝成功了!
五、安裝基本常用擴(kuò)展包
1、安裝Apache擴(kuò)展包
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
2、安裝PHP擴(kuò)展包
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
3、安裝Mysql擴(kuò)展包
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
六、配置Apache、mysql開機(jī)啟動(dòng)
重啟Apache、mysql服務(wù)(注意這里和centos6有區(qū)別,Cenots7+不能使用6的方式)
systemctl start httpd.service #啟動(dòng)apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重啟apache
systemctl enable httpd.service #設(shè)置apache開機(jī)啟動(dòng)
mariadb,安裝完成以后使用下面的命令開啟數(shù)據(jù)庫(kù)服務(wù):
#啟動(dòng)MariaDB
[root@localhost ~]# systemctl start mariadb.service ??
#停止MariaDB
[root@localhost ~]# systemctl stop mariadb.service ??
#重啟MariaDB
[root@localhost ~]# systemctl restart mariadb.service ?
#設(shè)置開機(jī)啟動(dòng)
[root@localhost ~]# systemctl enable mariadb.service ?
重啟Apache服務(wù)
service httpd restart
七、配置Mysql (MariaDB)
初次安裝mysql是沒有密碼的,我們要設(shè)置密碼,mysql的默認(rèn)賬戶為root
設(shè)置?MySQL 數(shù)據(jù) root 賬戶的密碼:
[root@localhost ~]# mysql_secure_installation
當(dāng)出現(xiàn)如下提示時(shí)候直接按回車:
Enter current password for root
出現(xiàn)如下再次回車:
Set root password? [Y/n]
出現(xiàn)如下提示輸入你需要設(shè)置的密碼,這里輸入了root,輸入密碼是不顯示的,回車后再輸入一次確認(rèn):
New password:
接下來(lái)還會(huì)有四個(gè)確認(rèn),分別是:
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
八、配置阿里云環(huán)境
配置過程看上去都配好了,很多初學(xué)者會(huì)發(fā)現(xiàn),配置好的Web歡迎頁(yè)面打不開,很多文章都提到如下三種解決方案:
1 停止防火墻服務(wù)
[root@mycentos shell]#?systemctl?stop?firewalld.service
2 /etc/init.d/iptables stop ?關(guān)閉防火墻
3 開放端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT ??
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT ??
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT ??
iptables -A OUTPUT -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
即使上述方案都OK了,但是仍然網(wǎng)頁(yè)仍然打不開,在Y米 App服務(wù)器配置過程中,我們發(fā)現(xiàn)根源在于阿里云ECS的實(shí)例中的安全組規(guī)則,默認(rèn)設(shè)置了很多訪問的權(quán)限限制。通過修改“入方向”和”出方向”的授權(quán)策略(允許)、協(xié)議類型(全部)、端口范圍(-1/-1)、授權(quán)對(duì)象(0.0.0.0/0)后,歡迎頁(yè)面就能打開了。
九、安裝PhpMyAdmin
yum install?phpmyadmin php-mcrypt
phpMyAdmin的默認(rèn)安裝目錄是 /usr/share/phpMyAdmin,你如果覺得配置數(shù)據(jù)庫(kù)很繁瑣,可以用Xftp 5直接把這個(gè)文件夾移到你的Web/Html目錄下,開啟正常的數(shù)據(jù)庫(kù)配置和訪問。