CentOS 7.3下配置 Apache2.4 + MySQL5.7 + PHP7.1.8

本篇文章講解的是在CentOS7.3下配置 Apache2.4 + MySQL5.7 + PHP7.1.8

-先把服務(wù)器裝成centos7.3鏡像,然后重置服務(wù)器后本地連接需要?jiǎng)h除之前的ip連接保存記錄
vim ~/.ssh/known_hosts

一.Apache

1.查看httpd包是否可用
yum list | grep httpd

2.安裝Apache
yum install httpd

3.配置servername
vi /etc/httpd/conf/httpd.conf
修改這行: ServerName localhost:80

4.啟動(dòng)
systemctl start httpd

如果啟動(dòng)失敗 請(qǐng)注意錯(cuò)誤信息 一般來(lái)說(shuō)新安裝的軟件都會(huì)啟動(dòng)成功 我當(dāng)時(shí)啟動(dòng)失敗后是用ps -aux | grep httpd命令發(fā)現(xiàn)進(jìn)程被占用 所以kill -9 進(jìn)程號(hào) 把httpd的進(jìn)程殺干凈 再啟動(dòng) 就OK了

5.設(shè)置開(kāi)機(jī)啟動(dòng)
chkconfig httpd on

二 MySQL

1.安裝MySQL源
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

2.安裝MySQL
yum install mysql-community-server

3.啟動(dòng)MySQL
systemctl start mysqld

4.獲取密碼
grep 'temporary password' /var/log/mysqld.log
得到這行A temporary password is generated for root@localhost: Jqqskhz1Wr(? 冒號(hào)后面的就是密碼

5.進(jìn)入MySQL
mysql -uroot -p

6.修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY ********** (密碼請(qǐng)用引號(hào)包起來(lái) 注意MySQL的密碼必須復(fù)雜 不復(fù)雜會(huì)報(bào)錯(cuò))

7.開(kāi)放遠(yuǎn)程訪問(wèn)權(quán)限
use mysql;
update user set host = '%' where user = 'root';
百分號(hào)相當(dāng)于*號(hào),意為全部放行,也可改為IP地址則只允許此IP連接,也可以設(shè)置為192.168.%.%或者192.168.0.1/9代表允許一個(gè)ip段進(jìn)行連接,也可以多加幾條數(shù)據(jù)設(shè)置不同ip允許連接。

8.MySQL權(quán)限管理。(只寫(xiě)干貨,不懂的請(qǐng)自行Google)

create user 'myqiutian'@'%' IDENTIFIED BY '*********';
創(chuàng)建一個(gè)用戶為myqiutian,因?yàn)橛玫?所以任何IP都可以登錄,但登錄后卻無(wú)法看到數(shù)據(jù)庫(kù),新增用戶所有權(quán)限默認(rèn)關(guān)閉。

懶人請(qǐng)用這一行:
grant all on . to myqiutian;設(shè)置該用戶所有數(shù)據(jù)庫(kù)所有表?yè)碛兴袡?quán)限

grant select on A數(shù)據(jù)庫(kù).* to myqiutian;
授權(quán)myqiutian這個(gè)用戶可以查看A數(shù)據(jù)庫(kù)里的所有表,但是僅限于A數(shù)據(jù)庫(kù),也僅限于查看。

grant insert on A數(shù)據(jù)庫(kù).user to myqiutian;
授權(quán)myqiutian這個(gè)用戶可以對(duì)A數(shù)據(jù)庫(kù)里的user表進(jìn)行insert操作,但僅限于user表,也僅限于select和insert操作。

撤銷權(quán)限
revoke insert on A數(shù)據(jù)庫(kù).user from myqiutian;
注意:撤銷權(quán)限之前最好用show grants for myqiutian;這條sql查一下該用戶有哪些權(quán)限,增加的什么權(quán)限就撤什么權(quán)限,你增加的insert就不能撤銷all。

MySQL權(quán)限工作流程:
--------->用戶連接MySQL
--------->查詢user表 核對(duì)賬號(hào)密碼 檢查host字段 是否允許你的ip進(jìn)行連接
--------->查詢user表 其他權(quán)限字段 值若為Y 代表用戶對(duì)所有數(shù)據(jù)庫(kù)所有表所有字段都擁有該權(quán)限 若有值為N 則往下走
--------->查詢db表 庫(kù)權(quán)限控制表 獲取該用戶對(duì)哪些庫(kù)擁有哪些權(quán)限 這張表里一條記錄代表一個(gè)庫(kù)
--------->查詢tables_priv表 獲取該用戶的表控制權(quán)限 同樣 如果db表中該用戶對(duì)A數(shù)據(jù)庫(kù)擁有insert權(quán)限 那么不管tables_priv表中如何設(shè)置 都不會(huì)影響該用戶的isnert權(quán)限,如果tables_priv表中的單表權(quán)限不為all,則繼續(xù)往下走
--------->查詢columns_priv表 字段控制 可以設(shè)置對(duì)表字段的控制權(quán)限

四個(gè)表依次為 user db tables_priv columns_priv

注意:
如果user表中全為Y,那么不會(huì)查詢下面的表。
user表中的select為N時(shí),可以在db表中指定哪些庫(kù)可以被用戶看到。
但是無(wú)論是表控制還是字段控制,上級(jí)權(quán)限表(user表除外)的select字段必須為Y。
而其他權(quán)限如果上級(jí)表給出了設(shè)置,那么不會(huì)采用下級(jí)表的設(shè)置。

具體權(quán)限字段請(qǐng)查閱官方手冊(cè):
http://www.yesky.com/imagesnew/software/mysql/manual_Privilege_system.html#Privileges_provided

8.刷新權(quán)限 立即生效
flush privileges;

別忘了這里有一個(gè)配置文件cat /etc/my.cnf 可以查看存儲(chǔ)的數(shù)據(jù)與log的位置。

三:PHP7

1.通過(guò)ftp將php源碼包上傳到Linux上,或者通過(guò)wget在線下載也可以。因?yàn)闆](méi)有找到我要的最新版的7.1.8的包,所以我就去官網(wǎng)下載來(lái)傳到Linux上進(jìn)行使用,
將包放到/usr/local 并cd進(jìn)去。(ftp的內(nèi)容請(qǐng)查看我上一篇文章,php7的包請(qǐng)點(diǎn)擊分享鏈接進(jìn)行下載:http://pan.baidu.com/s/1dEYQjoX
上官網(wǎng)自行下載也是可以的,用wget下載官網(wǎng)的鏈接

2.解壓
tar -zxvf php-7.1.8.tar.gz

3.進(jìn)入解壓包安裝一些必要的依賴
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

4.安裝gcc
yum install gcc

5.安裝
yum -y install libxslt-devel*
yum -y install perl*
yum -y install httpd-devel
find / -name apxs 得到的路徑是:/usr/bin/apxs
于是得到--with-apsx2的路徑是/usr/bin/apxs

5.配置
(注意:先進(jìn)入/usr/local/php7的目錄下再執(zhí)行下面,如果最后顯示內(nèi)存不足1G的話加上--d(自行根據(jù)錯(cuò)誤碼百度忘記了))
./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs

6.編譯
make

7.編譯出現(xiàn)錯(cuò)誤請(qǐng)查閱這篇博客:
http://www.cnblogs.com/sweetXiaoma/p/5855732.html
感謝博主分享經(jīng)驗(yàn)讓學(xué)者收益。

8.編譯檢查
make test
這步可走可不走,因?yàn)樗鲜菒?ài)提示錯(cuò)誤,但又不給錯(cuò)誤信息,如果有問(wèn)題,那么編譯的時(shí)候一定不成功,既然編譯成功了,那么可以直接進(jìn)行安裝。

9.安裝
make install

10.添加環(huán)境變量
vi /etc/profile
在末尾加入:
PATH=$PATH:/usr/local/php7/bin
export PATH

11.使改動(dòng)立即生效
source /etc/profile

12.查看php版本
php -v
(如果有問(wèn)題 請(qǐng)檢查添加的環(huán)境變量是否是PHP安裝目錄里的bin目錄)

13.生成必要文件
cp php.ini-production /usr/local/php7/etc/php.ini
cp sapi/fpm/php-fpm /usr/local/php7/etc/php-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

Configuration File (php.ini) Path   /usr/local/php7/lib
Loaded Configuration File   /usr/local/php7/lib/php.ini
注意:用phpinfo();出來(lái)后 要加載php.ini需要放在 /usr/local/php7/lib/php.ini
然后打開(kāi)把時(shí)間那里的;去掉,加上PRC,就是中國(guó)時(shí)間了~

14.配置
如果報(bào)錯(cuò) 請(qǐng)敲這行查報(bào)錯(cuò)信息 可以查到哪個(gè)文件第幾行出錯(cuò):
systemctl status httpd.service

修改Apache默認(rèn)歡迎頁(yè):
vi /etc/httpd/conf.d/welcome.conf
將/usr/share/httpd/noindex 修改為/var/www

修改Apache配置:
vi /etc/httpd/conf/httpd.conf

DocumentRoot "/var/www/"
(請(qǐng)注意,/var/www這個(gè)路徑是自定義,在配置文件中有好幾處這個(gè)路徑,如果更改,請(qǐng)全局搜索一下都改掉)

找到
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .php7

搜索<IfModule dir_module>下面這一塊添加上index.php
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>

搜索有沒(méi)有下面這一行:
LoadModule php7_module modules/libphp7.so
如果沒(méi)有 請(qǐng)手動(dòng)添加 否則 會(huì)出現(xiàn)運(yùn)行php文件變成下載

在最下面配置域名
<VirtualHost *:80>
DocumentRoot /var/www
ServerName www.你的域名.com
ServerAlias 你的域名.com
<Directory /phpstudy/www>
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>

15.測(cè)試
在www目錄下創(chuàng)建index.php
添加<?php phpinfo();?>
訪問(wèn):www.你的域名.com

16.重啟apache
systemctl stop httpd
systemctl start httpd

17.配置虛擬主機(jī) 參考
這里因?yàn)橄旅婺抢镩_(kāi)啟了包含擴(kuò)展

vim /etc/httpd/conf/httpd.conf

這個(gè)文件沒(méi)有的話 用vim會(huì)自動(dòng)創(chuàng)建

#包含apache2.4.6擴(kuò)展,這個(gè)版本的話 這里會(huì)自動(dòng)加載這個(gè)虛擬主機(jī)配置文件            
 IncludeOptional conf.d/*.conf
 #網(wǎng)站根目錄的絕對(duì)地址
DocumentRoot "/var/www"

然后新建一個(gè)虛擬主機(jī)文件里面填寫(xiě),apache會(huì)自動(dòng)加載這個(gè)虛擬主機(jī)配置文件
vim /etc/httpd/conf.d/vhost.conf

      #DocumentRoot和Directory更換自己的項(xiàng)目絕對(duì)路徑
      #ServerName和ServerAlias更換自己的項(xiàng)目地址
<VirtualHost *:80>
                DocumentRoot "/var/www"
                ServerName www.uigz.cn
                ServerAlias www.uigz.cn
                <Directory "/var/www">
                     Options FollowSymLinks
                     AllowOverride All
                     Require all granted
                </Directory>
 </VirtualHost>
<VirtualHost *:80>
                DocumentRoot "/var/www/liulin"
                ServerName liulin.uigz.cn
                ServerAlias liulin.uigz.cn
                <Directory "/var/www/liulin">
                     Options FollowSymLinks
                     AllowOverride All
                     Require all granted
                </Directory>
 </VirtualHost>
<VirtualHost *:80>
                DocumentRoot "/var/www/lkj"
                ServerName blog.uigz.cn
                ServerAlias blog.uigz.cn
                <Directory "/var/www/lkj">
                     Options FollowSymLinks
                     AllowOverride All
                     Require all granted
                </Directory>
 </VirtualHost>

由于配置了這個(gè)虛擬主機(jī),建議關(guān)閉httpd.conf里面的默認(rèn)目錄路徑的那段話
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容