Linux第4課:搭建apache服務(wù)器
時間 2019-03-01?下午3:30
主講?黃季陽
地點 四樓電教室
Apache(阿帕奇)是一個開放源碼的網(wǎng)頁服務(wù)器伙菊,可以在大多數(shù)計算機操作系統(tǒng)中運行霹购,由于其多平臺和安全性被廣泛使用巍耗,是最流行的Web服務(wù)器端軟件之一兜看。它快速症歇、可靠并且可通過簡單的API擴(kuò)展晓淀,將Perl/Python等解釋器編譯到服務(wù)器中线罕。
下面,以CenterOS7為例般哼,講解apache的安裝和調(diào)試吴汪,其他版本的centeros,命令可能有所差異蒸眠。
yum? ?install? ?httpd? ?httpd-devel
查看httpd的版本漾橙,驗證是否安裝成功:
httpd -version
查看安裝目錄:
whereis httpd
apache是網(wǎng)站服務(wù)器,網(wǎng)站需要使用IP地址和端口來訪問楞卡,IP地址需要查看本機IP霜运,端口默認(rèn)是80。
下面蒋腮,設(shè)置網(wǎng)站的IP地址淘捡,端口保持不變。
vim /etc/httpd/conf/httpd.conf
附:vi編輯命令的使用技巧(vim是vi的升級版池摧,如果沒有vim焦除,則使用yum安裝)
esc?:set nu?顯示行號
:$ 跳到尾行
:530?跳到第530行
:/display_errors? 搜索/display_errors,點n跳到下一個
連續(xù)搜索80(注意:小鍵盤好像不能打數(shù)字作彤,不要用小鍵盤)膘魄,找到:
Listen 80
修改為:
Listen 10.0.11.5:80? (IP為本機IP)
啟動apache:
systemctl start httpd.service #啟動
systemctl stop httpd.service #停止
systemctl restart httpd.service #重啟
查看端口運行情況:
netstat? -pltn
可見,httpd已正常運行竭讳。
查詢防火墻對80端口是否放行:
firewall-cmd --query-port=80/tcp
返回no
附创葡,防火墻用法:
firewall-cmd --state ? ? ? ? ? ? ? ? ? ? ? ? ? ##查看防火墻狀態(tài),是否是running
firewall-cmd --permanent --zone=public?--add-port=80/tcp? ? ??永久開放80端口號
firewall-cmd --reload ? ? ? ? ? ? ? ? ? ? ? ? ?##重新載入配置绢慢,比如添加規(guī)則之后蹈丸,需要執(zhí)行此命令
firewall-cmd?--query-port=80/tcp? ? ? ? ? ??查詢端口號80 是否開啟
firewall-cmd --permanent --zone=public?--remove-port=80/tcp? ? ? ? ? ? ? ?移除80端口號
firewall-cmd --list-ports? ? ? ? ? 查看所有已開放的端口
systemctl enable firewalld.service? ? ? ? ? ? ?設(shè)置開機自啟
systemctl disable firewalld.service? ? ? ? ? ??設(shè)置開啟不自啟?
systemctl stop firewalld.service; #停止firewall
systemctl disable firewalld.service; #禁止firewall開機啟動
防火墻放行80端口后逻杖,瀏覽器訪問:http://10.0.11.5奋岁,出現(xiàn)如下頁面,表示調(diào)試成功荸百。
下面闻伶,我們手寫一個index.html,并顯示出來够话。方法如下:
cd /var/www/html
vi index.html
果然蓝翰,服務(wù)器是默認(rèn)訪問這個目錄的。
這時女嘲,再寫一個abc.htm畜份,如何把abc.htm設(shè)置成默認(rèn)頁面呢?
修改方式:vi /etc/httpd/conf/httpd.conf
以上為網(wǎng)站目錄和默認(rèn)首頁欣尼,默認(rèn)頁面多個爆雹,可以使用空格隔開。
修改后愕鼓,果然生效钙态。
附1——修改端口號:
關(guān)于端口號,默認(rèn)端口號為80菇晃,如需修改册倒,只需在前面httpd.conf的文件中,把Listen 80修改為其他端口即可磺送。但是驻子,修改為1600后,發(fā)現(xiàn)apache啟動失敗估灿。提示:
Job for httpd.service failed because the co和trol process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
原來崇呵,apache為了提高安全性,默認(rèn)只能使用80和443端口甲捏,如需使用其他端口,需要進(jìn)一步設(shè)置鞭执。
yum -y install policycoreutils-python
semanage port -a -t http_port_t -p tcp 1600
關(guān)于semanage:
semanage port -l|grep http? ? ? ?查看當(dāng)前允許的端口
semanage port -d -t http_port_t -p tcp 1600? 使用-d參數(shù)司顿,即為刪除1600端口的允許
systemctl restart httpd.service
防火墻放行后,成功兄纺!
附2——綁定域名:
vi /etc/httpd/conf/httpd.conf
修改內(nèi)容如圖:
systemctl restart httpd.service
發(fā)現(xiàn)域名已生效大溜!
附3——開機啟動:
通過以上操作,重啟后是否正常呢估脆?我們執(zhí)行reboot命令钦奋。
發(fā)現(xiàn)重啟后,網(wǎng)頁無法打開。
檢查防火墻對端口的開放:firewall-cmd --list-ports付材,發(fā)現(xiàn)1600端口正常開放朦拖。
執(zhí)行systemctl start httpd.service,后正常厌衔。
原來是apache沒有自動開機啟動璧帝,需要手工啟動。
systemctl enable httpd.service #開機啟動
systemctl disable httpd.service #開機不啟動
重啟后富寿,?果然正常訪問睬隶!
附4——寶塔工具:
注意:安裝寶塔后,寶塔將取得系統(tǒng)控制權(quán)页徐,其他設(shè)置將無效苏潜。
為了更方便地配置Linux服務(wù)器,推薦使用寶塔圖形化配置工具:
寶塔官網(wǎng) www.bt.cn
免費版v6.8安裝:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
安裝完成后变勇,記錄提示信息:
Bt-Panel: http://*.*.95.16:8888/e9a9b786
username: hmfsyeib
password: d36f6c86
然后恤左,進(jìn)入對應(yīng)網(wǎng)頁,即可進(jìn)行遠(yuǎn)程配置贰锁。
卸載寶塔:
wget http://download.bt.cn/install/bt-uninstall.sh
sh bt-uninstall.sh
systemctl restart httpd.service
附5——安裝PHP
php和python一樣赃梧,可以用來開發(fā)網(wǎng)頁,是服務(wù)端網(wǎng)頁編碼解釋器豌熄。
yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml
查看php的版本
php -v
編寫一個index.php頁面
<html>
?<head>
??<title>PHP?測試</title>
?</head>
?<body>
?<?php?echo?'<p>Hello?World</p>';??>
?</body>
</html>
瀏覽器測試授嘀,顯示正常,說明php安裝成功锣险!
附6——安裝mysql
以下方法為安裝mysql 5.7.25蹄皱,依次執(zhí)行命令:
cd /usr/local/src/
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm?
rpm -ivh mysql57-community-release-el7-8.noarch.rpm?
yum -y install mysql-server?
安裝完畢后檢查狀態(tài):
查看目錄:
whereis mysqld
查看版本:
mysql -V
默認(rèn)配置文件路徑:?
配置文件:/etc/my.cnf?
日志文件:/var/log/var/log/mysqld.log?
服務(wù)啟動腳本:/usr/lib/systemd/system/mysqld.service?
socket文件:/var/run/mysqld/mysqld.pid
啟動mysql服務(wù):
service mysqld restart
可見,mysql已啟動芯肤。
下面巷折,修改root密碼,mysql安裝后崖咨,密碼隨機生成锻拘,需要修改。
查看root用戶的隨機密碼:
grep "password" /var/log/mysqld.log
登陸mysql
mysql -u root -p
修改密碼強度為低
set global validate_password_policy=LOW;
修改密碼最低長度限制為6(默認(rèn)為8)
set global validate_password_length=6;
修改密碼為abcd1234:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('abcd1234')
下面击蹲,修改端口為7188(默認(rèn)為3306):
vim /etc/my.cnf
添加一行
port=7188
保存退出署拟。
系統(tǒng)放行7188端口:
semanage?port?-a -t mysqld_port_t -p tcp 7188
防火墻放行7188端口
firewall-cmd --permanent --zone=public?--add-port=7188/tcp
firewall-cmd --reload
重啟mysql服務(wù):service mysqld restart
可見,mysqld的7188端口已正常啟動歌豺。
下面推穷,創(chuàng)建一個遠(yuǎn)程登陸的用戶:
set global validate_password_policy=LOW;
create user lpf@'%' identified by 'jxsr201903';
grant all privileges on *.* to lpf;
遠(yuǎn)程連接測試,正常类咧!
最后馒铃,reboot測試一下apache蟹腾、php、mysql是否都已正常啟動区宇。
經(jīng)測試娃殖,重啟后均正常。