linwebs

林林.台灣 | Linwebs - 課程

虛擬化系統佈署 - 在 CentOS 7 安裝 LAMP 環境

本文章為嘉大資工讀書會第二期課程內容
場次 5-1 【雲端系統佈署】 虛擬化系統佈署

以下文章使用 Microsoft Azure 平台所提供的 Linux 虛擬機器,CentOS 7 作業系統的樣板作為伺服器進行示範,可參考前一篇文章【在 Azure 建立 Linux 虛擬機】來建置環境。

以下文章會安裝目前最新版本的 PHP 及 MariaDB。

  • Apache: 2.4.6
  • PHP: 8.0.8
  • MariaDB: 10.6.3

PS: 本課程圖片較多,此頁面圖片有經過壓縮處理,若圖片模糊不清,可點選圖片開啟圖片原始檔。

  1. 使用 sudo yum update 來更新系統的程式。


  2. 可看到所有可更新的程式,輸入 y 後,按下鍵盤 Enter 按鍵,確定進行更新。


  3. 首次進行更新需花費不少時間,更新完畢後,最下面會顯示【Complete!】代表更新完畢。


  4. 接下來的操作,我們先關閉 CentOS 的 SELinux 模組,以方便進行設定,此為測試的環境,實際的生產環境建議開啟 SELinux 模組以提升系統的安全性。
    $ cd /etc/selinux/ # 使用 cd 指令前往 SELinux 設定檔的位置。
    $ ls #使用 ls 指令查看目前目錄下的檔案。
    $ sudo vim config # 使用 root 權限開啟 vim 程式,編輯 config 檔案。
    ※ 提示 clear 指令可清空目前畫面的內容。


  5. 按下鍵盤的I按鍵切換到編輯模式,可在畫面左下角看到【-- INSERT --】的文字。
    使用鍵盤方向鍵將游標移至 enforcing 的地方,將其刪除後再輸入 disabled


  6. 輸入完畢後,同時按下鍵盤的 Ctrl+C按鍵兩次退出 vim 的編輯模式,當左下角可輸入文字時,請輸入【:wq】冒號及小寫的w和q,即可儲存並退出 vim 編輯器。


  7. 接下來安裝 epel 軟體套件,安裝時會詢問是否要安裝此軟體,輸入 y 後,按下鍵盤 Enter 按鍵,確定進行安裝。
    $ sudo yum install epel-release


  8. 接下來,想安裝最新版的 php,但是 CentOS 7 預設 yum 軟體源的 php 為 php5,要安裝最新的 php 可以安裝其他第三方的軟體源,所以接下來我安裝 remi 的軟體源來擴充 yum 可安裝的程式。
    $ cd
    $ wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm # 使用 wget 指令下載檔案
    $ sudo rpm -Uvh remi-release-7.rpm # 使用 rpm -Uvh 指令幫 yum 新增軟體源
    


  9. 接下來,再次使用 sudo yum update 更新軟體源,新增新的軟體源會詢問是否要匯入 GPG key,在此輸入 y 確定。


  10. 更新完畢後,最下面一樣會顯示【Complete!】代表更新完畢。


  11. 接下來,編輯【remi-php80.repo】此檔案,將 remi 軟體源的 php80 套件來源開啟。
    $ cd /etc/yum.repos.d/
    $ sudo vim remi-php80.repo


  12. 按鍵盤I按鍵進入編輯模式後,找到 [remi-php80] 下方的 enabled=0,將 0 改為 1,代表啟用此軟體來源。

  13. 啟用軟體來源後,再次使用 sudo yum update 更新軟體來源,此時可看到 remi-php80 軟體來源已被讀取。

  14. 接下來再使用 yum 安裝一些常用的軟體。
    $ sudo yum install unzip htop lynx net-tools git


  15. 接下來,因為 yum 的 MariaDB 也是較舊的版本,可以查看 MariaDB 官方網站的指示安裝新版的 MariaDB。
    $ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
    $ chmod +x mariadb_repo_setup
    $ sudo ./mariadb_repo_setup
    $ sudo yum install mariadb-server


  16. 接下來安裝 Apache 網頁伺服器。
    $ sudo yum install httpd mod_ssl openssl


  17. 接下來安裝 php,及一些 php 常用的模組。
    $ sudo yum install php php-cli php-common php-fpm php-gd php-json php-mbstring php-mcrypt php-opcache php-pdo php-xml php-zip php-mysqlnd php-tidy php-tcpdf


  18. 啟動 Apache 網頁伺服器,並讓 Apache 設為開機啟動,再查看 Apache 運作的情況,看到【active (runing)】表示正常運作。
    $ sudo systemctl start httpd
    $ sudo systemctl enable httpd
    $ sudo systemctl status httpd


  19. 啟動 MariaDB 資料庫系統,並讓 MariaDB 設為開機啟動,再查看 MariaDB 運作的情況,看到【active (runing)】表示正常運作。 
    $ sudo systemctl start mariadb
    $ sudo systemctl enable mariadb
    $ sudo systemctl status mariadb


  20. 初始化 MariaDB 資料庫。
    $ sudo mariadb-secure-installation
    以下會依序詢問幾個問題,首先第一個是目前 root 使用者帳號的密碼,由於目前尚未設置,直接按鍵盤Enter 按鍵即可。
    詢問是否切換到 unix_socket 驗證,在此選擇【n】,選擇完後按鍵盤Enter 按鍵。
    詢問是否改變 MariaDB root 使用者的密碼,在此選擇【y】,選擇完後按鍵盤Enter 按鍵。
    接下來輸入想要給 MariaDB root 使用者的密碼,輸入完後按鍵盤Enter 按鍵。
    再次確認密碼,輸入完後按鍵盤Enter 按鍵。
    詢問是否移除匿名的使用者,在此選擇【y】,選擇完後按鍵盤Enter 按鍵。
    詢問是否禁止 root 使用者從遠端登入,在此選擇【y】,選擇完後按鍵盤Enter 按鍵。
    詢問是否移除測試的資料庫及存取的權限,在此選擇【y】,選擇完後按鍵盤Enter 按鍵。
    詢問是否更新權限資料表的設定值,在此選擇【y】,選擇完後按鍵盤Enter 按鍵。
    看到【All done!】代表已完成 MariaDB 初始化的設定。



  21. 可使用 ifconfig 查看此機器的 IP 地址資訊,由於此機器是建立在 azure 平台的內網,透過外層的 IP Mapping 才對應到實際的對外 IP,故在此顯示的會是內網的 IP。


  22. 實際的對外 IP,可至 azure 平台的虛擬機器頁面查看。


  23. 已完成網頁伺服器的安裝,可直接在瀏覽器輸入 IP 地址資訊,即可看到此網頁。
    若無法看到,請確認機器的 apache 網頁伺服器(httpd)是否正常運作、防火牆是否設定正確等。


  24. 建立一個 php 檔案來查看 php 是否正常運作,不過建立之前須確認目前的使用者擁有寫入 /var/www/html 資料夾的權限。。
    $ cd /var/www/ # 切換到 /var/www 資料夾
    $ ls -la # 查看目錄下的所有檔案(包含隱藏檔)
    $ sudo chown linwebs html # 改變 html 資料夾的擁有者為 linwebs
    $ ls -la # 再次查看目錄下的所有檔案(包含隱藏檔)
    $ cd html/ # 進入 html 資料夾
    $ vim index.php # 編輯檔案


  25. 可看到因為當前目錄下沒有 index.php 這個檔案,所以 vim 編輯器會提示這是新的檔案。


  26. 一樣按下鍵盤I按鍵進入編輯模式,輸入 php 語法進行測試,以下範例為輸出 Hello World! 文字。
    <?php echo 'Hello World!'; ?>


  27. 同時按下鍵盤的 Ctrl+C按鍵退出編輯模式。


  28. 再次同時按下鍵盤的 Ctrl+C按鍵,並輸入 :wq 儲存並退出。


  29. 使用 ls 指令可察看目錄下的檔案。


  30. 到瀏覽器再次重新整理頁面,可看到 Hello World! 的文字。
    若出現原始 php 語法表示 php 未正確運作,請確認 php 是否正確安裝,可重新啟動 apache 嘗試看看。


  31. 再次編輯 index.php 檔案,使用 phpinfo() 語法查看 php 的資訊。
    <?php phpinfo(); ?>


  32. 到瀏覽器再次重新整理頁面,可看到 php 的詳細資訊。


  33. 為了方便管理 MariaDB 資料庫,在此安裝 phpMyAdmin 工具。
    Google 搜尋 phpmyadmin,即可看到 phpMyAdmin 的官方網站


  34. 點擊網站上方的【Download】進入下載頁面。


  35. 找到【phpMyAdmin-5.x-all-languages.zip】的選項,按滑鼠右鍵,將下載連結複製到剪貼簿。
    phpMyAdmin-5.1.1-all-languages.zip 代表的是 5.1.1 版本的 phpMyAdmin,all-languages 代表包含所有語言,檔案為 zip 的格式。


  36. 接下來將 phpMyAdmin 程式從官方網站下載下來。
    $ ls # 查看目錄下的檔案
    $ wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip # 下載此檔案
    $ ls # 查看目錄下的檔案


  37. 解壓縮此 zip 檔案。
    $ unzip phpMyAdmin-5.1.1-all-languages.zip


  38. 重新命名 phpMyAdmin 的資料夾,將【phpMyAdmin-5.1.1-all-languages】改為【phpmyadmin】,方便後續的使用。
    $ mv phpMyAdmin-5.1.1-all-languages phpmyadmin # 將檔案重新命名
    $ ls # 查看目錄下的檔案


  39. 使用瀏覽器進入網站,在網址列輸入 IP/phpmyadmin,ex: 52.247.238.85/phpmyadmin 即可進入 phpMyAdmin。
    在此輸入 MariaDB 的使用者帳號密碼即可登入。


  40. 已成功進入 phpMyAdmin,可使用 phpMyAdmin 來管理 MariaDB 資料庫。 


  41. 現在,可將剛才下載的 zip 檔刪除,僅需保留 phpmyadmin 資料夾即可。
    $ rm phpMyAdmin-5.1.1-all-languages.zip


  42. 最後,編輯一下 index.php 檔案,更改網頁首頁的內容。
    <!DOCTYPE html>
    <html lang="zh-TW">
    <head>
    	<meta charset="UTF-8">
    	<title>NCYU Study Group</title>
    </head>
    <body>
    	<h1>歡迎來到嘉大資工課外自學讀書會</h1>
    </body>
    </html>


  43. 在瀏覽器輸入 IP 地址資訊,後方不須加任何後綴文字路徑,即是首頁,可看到此頁面。


恭喜您已成功在 CentOS7 作業系統中安裝 LAMP 環境,接下來可閱讀下一篇文章【虛擬化系統佈署 - 從 GitHub 佈署簡易留言板系統到伺服器】部署之前課程所製作的網站到此伺服器上。

建立時間:2021/7/5 PM 11:56
修改時間:2021/7/31 PM 4:27
作者: Linwebs

bookmark標籤