在本文中,我們將逐步指導如何在執行 Linux 的伺服器上設定 Web 環境。首先,您需要了解典型的 Web 伺服器由幾個互動的元件組成:
- HTTP服務器
- 程式語言解釋器
- 數據庫管理系統(DBMS)
要管理您的網站,您還需要設定內容管理系統 (CMS)、用於資料庫管理的 Web 介面和 FTP 存取。
讓我們考慮在 Linux 上設定一個非常流行的設定 Apache-PHP-MySQL(MariaDB)。我們還將安裝 vsftpd ftp 伺服器、phpMyAdmin(用於資料庫管理的 Web 介面)和內容管理系統 WordPress。
首先,請訂購VPS伺服器或獨立伺服器。例如,我們使用了一台運行Ubuntu Server 18.04的靜態IP位址虛擬伺服器。所有命令均由root使用者執行。
Apache HTTP 伺服器配置
1。 安裝
apt install apache2
安裝完成後,打開瀏覽器並檢查“http://[伺服器的IP位址]”
如果您在上面的螢幕截圖中看到這樣的歡迎頁面,則表示您的 HTTP 伺服器正在正常運作。
2. 建立測試頁面
網站的預設根目錄是“/var/www/html”。您剛才看到的歡迎頁面就在這裡。我們建立一個單獨的目錄“/var/www/sites”用於虛擬主機,並在其中建立一個子資料夾“/var/www/sites/site1”,用於存放測試網站的首頁。
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
結果檔案「/var/www/sites/site1/index.html」應該只包含一行html程式碼:
<H1>Welcome</H1>
3.Apache 伺服器配置
網站的設定檔位於「/etc/apache2/sites-available/」目錄下。讓我們以「000-default.conf」檔案中的預設配置為基礎,為新的虛擬主機建立一個設定檔。
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
開啟檔案「site1.conf」,修改「DocumentRoot」屬性。將您的網站路徑作為值,在本例中為「/var/www/sites/site1」。
現階段我們不需要配置多個網站同時運行,所以我們可以停用預設網站並啟用新網站。重新載入伺服器配置以套用變更。
a2dissite 000-default
a2ensite site1
systemctl reload apache2
再次開啟連結「http://[伺服器的 _ip_位址]」,確保顯示的是我們的新頁面,而不是預設的歡迎頁面。
我們完成了 HTTP 伺服器的配置,可以繼續下一步。
FTP 伺服器配置
1。 安裝
讓我們安裝 FTP 伺服器和一個名為「db-util」的附加軟體包,我們需要用它來設定虛擬使用者。
apt install vsftpd db-util
2. 建立本地帳戶
vsftpd 伺服器允許我們以非常靈活的方式配置存取權限。對於我們的任務,我們需要向 ftp 用戶提供以下內容:
- 完全存取內容 “/var/www/sites/”;
- 禁用以上所有內容 “/var/www/”;
- 與虛擬帳戶的連接;
建立一個名為「virtual」的本機帳戶,該帳戶無登入權限,但可存取主資料夾「/var/www/」。 FTP用戶將使用此帳戶連接到伺服器。
useradd -d /var/www virtual
預設情況下, “root”使用者是“/var/www”資料夾的擁有者。為了允許FTP使用者修改網站內容,我們需要更改「/var/www/sites/」及其「virtual」子資料夾的擁有者。
chown -R virtual:root /var/www/sites
因此,“virtual”用戶將能夠看到“/var/www/”的內容,並能夠寫入“/var/www/sites/”子資料夾。
3。 組態
主要的設定資訊位於檔案“/etc/vsftpd.conf”中,因此讓我們打開它並按如下方式編輯:
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4.建立資料庫
您將需要一個資料庫來儲存虛擬帳戶的資料。
首先,我們在使用者主目錄下建立一個簡單的文字檔案「users.txt」,並將虛擬使用者的存取資訊(登入名稱和密碼)每隔一行儲存一次。例如,我們需要一個登入名為「ftp」、密碼為「Qwe123」的虛擬使用者。那麼,該文件的內容將如下所示:
ftp
Qwe123
讓我們建立資料庫
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
讓我們如下修改預設的 PAM 檔案“/etc/pam.d/vsftp”:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
請注意, “pam_userdb.so”庫的路徑可能有所不同,但您可以根據需要進行變更。
重新載入 vsftpd 伺服器以套用變更。
systemctl restart vsftpd
我們完成了 FTP 伺服器的設定。
連接詳細資訊:
- ftp://[伺服器的 IP 位址]
- 登入:ftp
- 密碼:Qwe123
PHP 伺服器配置
1. PHP 的安裝
如今,PHP 的最新穩定版本是 php 7.4.5,它不包含在官方 Ubuntu 儲存庫中。讓我們連接第三方儲存庫並安裝最新版本的 PHP。
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2。 檢查
為了使 PHP 程式碼能夠執行,網頁檔案必須具有“.php”副檔名。讓我們重命名一下我們的測試頁面:
cd /var/www/sites/site1/
mv index.html index.php
將以下 PHP 程式碼行加入到檔案「/var/www/sites/site1/index.php」中,使該檔案看起來像這樣:
<H1>Welcome</H1>
<?php
phpinfo();
?>
儲存變更並在瀏覽器中檢查結果。
如果看到函數「phpinfo()」的執行結果,表示PHP解釋器運作正常。現在我們繼續下一步。
MySQL(MariaDB)配置
1。 安裝
讓我們安裝 MariaDB 和 MySQL 的 PHP 模組,然後重新載入 Apache。
apt install mariadb-server php-mysql
systemctl restart apache2
重新整理測試頁面,然後前往 PHP 配置表中的 PDO 部分。如果能找到「PDO_mysql」部分,則表示 MySQL 驅動程式已正確安裝。
接下來,我們需要對 MariaDB 進行初始安全性配置,設定「root」使用者的密碼,停用遠端訪問,並刪除所有訪客帳戶。
mysql_secure_installation
第一步,我們需要輸入「root」使用者的密碼才能存取資料庫管理系統(DBMS),如果沒有密碼,則按回車鍵。由於安裝後“root”用戶沒有設定密碼,因此只需按“回車”鍵即可。
請注意,MariaDB 中已經有自己的帳戶,這些帳戶與作業系統帳戶無關。因此,我們在 MariaDB 中唯一操作的使用者是「root」。
之後,配置器會要求我們設定 root 使用者的密碼。輸入“Y”確認,然後輸入新密碼。在本例中,密碼是「Qwe123」。
其餘所有問題都回答「Y」,直到最後一個問題。
配置完成!
MariaDB 存取詳細資訊:
- 登入名:root
- 密碼:Qwe123
phpMyAdmin 配置
1。 安裝
讓我們安裝 PHP 所需的擴充功能 - mbstring。
apt install php-mbstring
在官方儲存庫中只有一個過時的 phpMyAdmin 版本,所以讓我們手動安裝新版本。
開啟專案官方網站“ https://www.phpmyadmin.net/ ”,下載最新存檔。
使用任何 ftp 用戶端將壓縮檔案複製到伺服器上的「/var/www/sites/」資料夾中。
解壓縮資料夾並將其重新命名為“phpMyAdmin”。請務必安裝“unzip”工具。解壓縮後即可刪除壓縮檔。
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
建立名為「/var/www/sites/phpMyAdmin/tmp」的暫存檔案資料夾,並授予所有人存取權限。否則,phpMyAdmin 將報告對臨時資料夾的存取被拒絕。
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. 建立別名
由於phpMyAdmin不是單獨的虛擬主機,並且位於根目錄之外,因此我們來設定別名。
開啟檔案“/etc/apache2/mods-available/alias.conf”並新增以下行:
Alias /pma “/var/www/sites/phpMyAdmin"
在這一部分中:
<IfModule alias_module>
</IfModule>
重新載入 Apache 以套用變更。
systemctl reload apache2
別名已設置,因此我們可以透過「http://[伺服器的IP位址]/pma」存取phpMyAdmin。
3.準備資料庫
由於我們在 MariaDB 的初始配置期間限制使用 root 用戶,因此我們必須建立一個具有所有權限的新帳戶,用於存取 phpMyAdmin。
此外,為了啟用 phpMyAdmin 的附加功能,我們需要一個服務資料庫和一個存取帳戶。
讓我們建立帳戶
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
請注意,第二個請求中的資料庫名稱位於 back sparks “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …” 中。
結果將在 MariaDB 中建立兩個帳戶:
- 登入權限:pma,密碼:Qwe123 完全存取權限,將用於登入 phpMyAdmin
- 登入名稱:pmaservice,密碼:Qwe123 需要服務帳戶才能使用附加功能
下一步,我們將在設定檔“config.inc.php”中設定這些詳細資訊。
然後我們需要從檔案“phpMyAdmin/sql/create_tables.sql”匯入資料庫。
讓我們在 phpMyAdmin 的幫助下導入它。
開啟連結“http://[伺服器的IP位址]/pma”
輸入登入名稱“pma”和密碼“Qwe123”
前往「導入」,點選「選擇檔案」 ,然後選擇 phpMyAdmin 根目錄下的「sql/create_tables.sql」檔案。您的電腦上應該有一個名為「phpMyAdmin」的資料夾,其中包含這些檔案。如有必要,請將其解壓縮。
點選“下一步”開始導入。
4。 組態
我們從模板複製配置文件
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
讓我們開啟設定檔“/var/www/sites/phpMyAdmin/config.inc.php”,並進行以下變更:
為屬性「$cfg['blowfish_secret']」設定一個隨機的 32 個字元的值。可以使用任何密碼產生器。
移除「phpMyAdmin 設定儲存設定」部分所有行的註釋,並相應地為「controluser」和「controlpass」屬性設定 MariaDB 服務帳戶的登入名稱和密碼。在本例中,它們分別是pmaservice和Qwe123。
保存更改。
phpMyadmin 的訪問詳細資訊:
- http://[server’s_ip_address]/pma/
- 登入名稱:pma
- 密碼:Qwe123
如何在 Linux 伺服器上安裝和設定 WordPress
1. WordPress 軟體包和文件放置
請訪問 WP 官方網站“ https://ru.wordpress.org/ ”,並將壓縮包下載到您的本地電腦。
將壓縮包上傳到伺服器的「/var/www/sites/」資料夾,然後將其解壓縮到「wordpress」資料夾。
複製「/var/www/sites/site1/」網站的「/var/www/sites/ wordpress/」根資料夾的內容。
由於我們是透過控制台以 root 權限複製的文件,現在讓我們更改“/var/www/sites/”資料夾及其“virtual”資料夾內容的擁有者。這是為了允許客戶端透過 ftp 連線獲得完全存取權。
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2.為 WordPress 建立資料庫
登入phpMyAdmin並點擊「建立資料庫」。指定任意資料庫名稱,在我們的範例中為“wordpress_db”,然後按一下“建立”按鈕。
在左側選擇新資料庫,然後按一下「權限」。
然後點選「新增使用者帳戶」。
在開啟的視窗中輸入登入名稱和密碼(wpservice / Qwe123 ),勾選「授予 wordpress_db 中的所有權限」,然後按一下「下一步」。
在下一頁中,按一下「全部取消」以重設資料庫層級的所有權限,然後按一下「下一步」。
3. Linux 伺服器上的 WordPress 配置
前往網站的根目錄並從模板複製配置文件
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
打開“wp-config.php”文件,輸入我們在上一步建立的資料庫連接參數,然後儲存變更。
4. 安裝 CMS WordPress
在瀏覽器中開啟以下連結「http://[伺服器的IP位址]/wp-admin/install.php」。
填寫所有字段,然後點擊「安裝 WordPress」。設定一個隨機的使用者名稱和密碼。在本例中,使用者名稱和密碼分別為wpadmin和Qwe123。
這些詳細資訊將用於存取 WordPress。
安裝完成後,打開連結“http://[伺服器的IP位址]/wp-login.php”,輸入訪問詳細信息,登入WordPress。
您應該在主頁上看到其中一個 WordPress 模板。
配置已完成。
WordPress 存取詳細資訊:
- http://[server’s_ip_address]/wp-login.php
- 登入名稱:wpadmin
- 密碼:Qwe123