Thursday, June 20, 2019

服務器架設:CentOS搭建LAMP詳細教程

本文是在獨立服務器或VPS中使用CentOS操作系統搭建LAMP詳細完整教程,適合初學者,本文會保持更新。

第一部分

LAMP 是Linux、Apache、MySQL/MariaDB、PHP的首字母縮寫,也就是在一台Linux服務器上安裝帶有PHP和MySQL/MariaDB支持的Apache網站服務器。

1. 說明

本文以VPS主機為例,操作系統是CentOS 7,獨立服務器操作方法與VPS相同。域名請做好DNS指向。

2. 安裝 Apache

Apache 已經包含在 CentOS 軟件包中了,一般來說,系統已經默認安裝完畢。如果沒有,你可以使用下面的命令輕鬆安裝它:

yum -y install httpd

系統會提示已需要安裝的版本並自動安裝,如有更新,系統會顯示需要更新的版本。

安裝 Apache 後,你可以:
啟動Apache:

systemctl start httpd.service

停止Apache:

systemctl stop httpd.service

重啟Apache:

systemctl restart httpd.service

設置開機啟動Apache:

systemctl enable httpd.service

設置開機不啟動Apache:

systemctl disable httpd.service

檢查Apache運行狀態:

systemctl status httpd.service

現在可以在瀏覽器中打開 http://domain.com(你的域名) 或 http://ip地址(VPS的IP地址),就可以看到 Apache Test Page 頁面。
如果是本地服務器,現在可以在瀏覽器中打開 http://localhost 或 http://127.0.0.1 ,看到 Apache Test Page 頁面。

修改配置文件:

vi /etc/httpd/conf/httpd.conf

可以修改偵聽端口 80 -> 8080 :

#Listen 12.34.56.78:80
Listen 8080

你可以重啟動Apache服務:

systemctl restart httpd.service

接着繼續再了解一下 apache 這個版本的結構,這有助於我們配置應用:

/etc/httpd/conf/httpd.conf :最主要的配置文件;
/etc/httpd/conf.d/*.conf :這個是 CentOS 的特色,如果你不想修改原始配置文件 httpd.conf 的話,其他配置的在此獨立配置,啟動 apache 時,這個文件就會被讀入到主要配置文件;
/usr/lib/httpd/modules :apache 支持很多的模塊,您想要使用的模塊默認都放置在此目錄;
/var/www/html :這裡是 CentOS 默認的“首頁”目錄;
/var/www/error :默認的系統錯誤信息,主機設置錯誤或瀏覽器端要求的數據錯誤,在瀏覽器上出現的錯誤提示就以這裡的信息為主;
/var/www/icons :提供 apache 的一些小圖標;
/var/www/cgi-bin :默認一些可執行的 CGI 程序放置的目錄;
/var/log/httpd :日誌文件目錄,這裡的文件很容易變的很大,需要提供足夠的空間;
/usr/sbin/apachectl :這是 Apache 的主要執行文件,這個執行文件其實是 shell script ,它可以主動檢測系統上的一些設置值,好讓您啟動 Apache 時更簡單;
/usr/sbin/httpd :這是主要的 apache 的二進制文件;
/usr/bin/htpasswd :當您想登陸某些網頁時,需要輸入賬號與密碼。那麼Apache本身就提供一個最基本的密碼保護方式,該密碼的產生就是通過這個命令實現的。

3. 安裝 MySQL/MariaDB

執行下面的命令來安裝 MySQL/MariaDB:

yum -y install mariadb mariadb-server

然後啟動 MySQL/MariaDB 服務器:
啟動MySQL/MariaDB:

systemctl start mariadb

停止MySQL/MariaDB:

systemctl stop mariadb

重啟MySQL/MariaDB:

systemctl restart mariadb

設置開機啟動MySQL/MariaDB:

systemctl enable mariadb

運行下面的命令來為 root 用戶設置一個密碼(否則的話任何人都可以訪問你的MySQL數據庫!):

mysqladmin -u root -p password 12345678

Enter password: 輸入root密碼以確認修改,一般root初始密碼為空(上面的12345678為你想要的密碼)

重啟MySQL/MariaDB:

systemctl restart mariadb

MySQL 有幾個重要目錄與文件:
/etc/my.cnf :這是Mysql的配置文件,包括 mysql 數據庫的優化;

/usr/lib/mysql :這個目錄是 MySQL 數據庫放置的位置,務必在備份時將此目錄完整的備份下來。

4. 安裝 PHP

使用下列命令來安裝 PHP 和 Apache 的 PHP 模塊:

yum -y install php

然後重新啟動 Apache :

systemctl restart httpd.service

這個安裝比較簡單,完成後可以測試一下。Apache 網站的默認文檔的路徑是 /var/www/html ,在這個目錄里上傳一個PHP探針,並且在瀏覽器中調用 http://localhost/env.php 將會顯示很多 PHP5 的安裝信息。

PHP 正在工作,你會看到很多模塊都可以在 PHP 中使用了,而 MySQL 並沒有在這裡被列出來,這意味着 PHP 並不支持MySQL,你還需要安裝 php-mysql 這個包。

5. 安裝PHP組件,使 PHP5 支持 MySQL

yum search php

選擇你所需的安裝包,然後通過下列命令安裝他們:

yum -y install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash

檢查系統更新,然後安裝更新。

yum -y check-update
yum -y update

如果需要,可以編輯php.ini,一般不用改動

vi /etc/php.ini

然後重新啟動 Apache :

systemctl restart httpd.service

在瀏覽器中重新加載 http://localhost/env.php 這個頁面,你就能看到剛剛安裝的 PHP和MySQL 模塊。

6. 設置 Apache 和 MySQL 開機啟動

systemctl enable httpd.service
systemctl enable mariadb

注意:“設置 Apache 和 MySQL 開機啟動”這一步一定要做,否則是訪問不了你的網站的。

OK,一個 LAMP 服務器搭建完成。

第二部分

1.安裝phpMyAdmin

yum -y install phpMyAdmin

2.使用putty登陸SSH

這是給網站根目錄賦予寫權限

chown root:root /var/www/html/ -R

或者

chmod -R 777 /var/www/html/

安裝zip文件解壓工具

yum -y install unzip

第三部分

實例:安裝WordPress設置固定鏈接教程
1.安裝Wget

yum -y install wget

2.進入虛擬機所在目錄

cd /var/www/html

3.下載WordPress到服務器並解壓

wget http://wordpress.org/latest.tar.gz
tar zxvf latest.tar.gz

4.修改WordPress目錄屬性

chmod -R 777 /var/www/html/wordpress
chgrp -R ftp /var/www/html/wordpress
chown -R www /var/www/html/wordpress

5.修改apache2的虛擬機配置文件(位於/etc/httpd/conf/httpd.conf),在<VirtualHost *:80>和</VirtualHost>中間加入下面代碼

<Directory “/var/www/html”>
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.html index.htm index.php
AllowOverride all
Order Deny,Allow
Allow from all
</Directory>

6.Apache重新加載配置:

systemctl restart httpd.service

提醒一下,本教程未提及FTP服務的安裝,如果需要可以安裝vsftpd或pureftpd,過程不再贅述。因為我自己覺得使用WinSCP的SFTP就夠用了,沒有必要安裝過多的服務消耗系統資源。

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.