用Ubuntu 20.04自架wordpress5.5

ubuntu20.04

自己架的站前幾天不小心弄掛掉了,所以就快速用新版的Ubuntu 20.04
重新把wordpress5.5安裝回來,還好在掛掉前有使用 All-in-One WP Migration(下載)
把文章跟資料庫都備分了起來,檔案不大大概是250MB左右
不過還沒有正式用過,剛好這次站突然掛掉了,看看我能夠多快復原這個站
基本上就是把,把電腦的ubuntu安裝好→LAMP Apache, MySQL, PHP安裝好→把PHP空間調整好放入wordpess5.5→安裝外掛All-in-One WP Migration→然後還原網站
其實ubuntu架起來的站真的是很穩定了,一整年完全沒有當過機
通常都是我自己搞壞掉的,不過在很需要這個站的時候突然掛了就有點心慌
興起了想要付費使用網路空間的念頭,所以我參考了很多網站帶路姬的訊息
就算是選擇再基本的空間方案,基本上每年3000元左右還是跑不掉
而且這個費用是繳三年,才有的優惠價格
每多一個設定像是自動備份等等,都要加一些錢
這些東西如果是自架站的話,要解決都不困難
想說算了,反正努力寫寫看看這些東西也只是我的嘗試
還是快速地靠自己的能力把站架回來吧
一方面也可以看看All-in-One WP Migration復原的程度有多高
以下是我安裝復原的的簡流細節:

  • 下載最新的ubuntu,把ubuntu20.04 安裝在電腦
  • 打開終端機,開始鍵入下列指令:
    sudo apt update

    sudo apt upgrade
    sudo apt install apache2
    sudo ufw app list
    sudo ufw allow ‘Apache Full’
    sudo ufw status
    sudo systemctl status apache2 (完成apache2)
  • apache2)
  • 開始安裝mysql,使用下面的指令
    sudo apt install mysql-server
    sudo service mysql status
    sudo mysql_secure_installation
    (大部分都要選y,每一次在設定這個安全協定是都讓我頭很大
    安全的等級分成0,1,2,如果到達2級,會需要8個字母以上,要有大小寫且會需要特殊字元
    即使設定好了,後面安裝wordpress還是會有資料庫的建立與設定問題)
  • 安裝PHP,使用以下的指令
    sudo apt install php libapache2-mod-php php7.4-mysql php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-intl -y
    php -v
    調整PHP的一些上傳檔案的設定(這個很重要)
    sudo nano /etc/php/7.4/apache2/php.ini
    按F6,針對這份文件做調整
    upload_max_filesize = 128M
    post_max_size = 128M
    memory_limit = 256M
    max_execution_time = 600
    max_input_vars = 3000
    max_input_time = 1000
    基本上上面這些數值都需要調整,然後按F2把檔案儲存退出,CTRL+X

  • 調整apache2 的設定,首先先打開讀寫權限
    sudo a2dissite 000-default
    sudo mkdir -p /var/www/html/domainname/public
    sudo chmod -R 755 /var/www/html/domainname
    sudo chown -R www-data:www-data /var/www/html/domainname
    sudo nano /etc/apache2/sites-available/domainname.conf (這是網站空間最重要的設定)
    設定內容是

    <VirtualHost *:80>
    ServerAdmin admin@domainname.com
    ServerName domainname.com
    ServerAlias www.domainname.com

    DocumentRoot /var/www/html/domainname/public

    <Directory /var/www/html/domainname/public>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

  • 讓apache2啟動新設定
    sudo a2ensite domainname.conf
    到這裡原本應該有一個檢查apache2的檢查設定的
    conf檔只要有正常啟動,整個php網路空間就可以運作正常
    到這我就可以用購買的網域,或127.0.0.1 測試我的網路空間正不正常
    有沒有正確指到網頁空間的預設路徑
  • 給網頁空間SSL的認證
    sudo apt install python3-certbot-apache
    sudo certbot –apache –agree-tos –redirect -m youremail@email.com -d domainname.com -d www.domainname.com
    延長它每90天更新的認證
    sudo certbot renew –dry-run
  • 寫一個INFO.php測試網站
    sudo nano /var/www/html/domainname/public/info.php
    把這個放在文件中後存檔
    <?php phpinfo();
    接下來就可以去網站檢查php是否有正常運作  domainname.com/info.php
    php
    ※ubuntu架站參考資料:  How to Install LAMP Apache, MySQL, PHP in Ubuntu 20.04
    這次全部按造這個步驟進的非常順利,過程大概只花半小時
    比較困難的是conf檔調整,要確定好用哪個資料夾當作對外空間
    wordpess5.5

    這樣就可以好好安裝wordpress5.5了嗎?
    並沒有
    還要先解決mysql的登入與資料庫的問題

    我常常按照上面的基本流程安裝後,還是會有無法登入的問題
    原因是沒有設定好database,與可以正常登入的帳號/密碼
    一開始在設定mysql的強度是非常嚴格的,必須要注意字數大寫跟特殊符號才能順利登入
  • 能夠順利登入mysql以後,必須要設定一個給wordpress用的資料庫,使用者帳號和密碼
    鍵入:
    mysql -u root -p
    Enter password: (如果無法順利登入需要參考一下這篇【ubuntu mysql無法登入密碼重設
    但其實我後來理解到,根本問題是一開始建立ROOT密碼等級跟大小寫特殊字元8碼以上的問題
    可以登入以後,就開始來建立DATABASE跟使用者名稱,帳號密碼

    mysql> CREATE DATABASE ‘newdatabase‘;
    mysql> CREATE USER ‘newuser‘@’localhost’ IDENTIFIED BY ‘newpassword‘;
    mysql> GRANT ALL PRIVILEGES ON newdatabase.* TO ‘newuser‘@’localhost’;
    mysql> FLUSH PRIVILEGES;
    mysql> quit
    測試剛剛新建的使用者/密碼是否可以登入
    # mysql -u newuser -p
    可以登入的話,資料庫的設定就沒問題了
    終於可以安裝wordpress了
  • wordpress網站https://tw.wordpress.org/download/releases/
    下載最新安裝檔ZIP,將之解壓縮放在tmp的目錄中
    打開終端機,鍵入
    ●sudo cp -a /tmp/wordpress/. /var/www/根目錄/wordpress
    ●sudo chown -R www-data:www-data /var/www/根目錄/wordpress
    ●sudo find /var/www/html/cclfun/public/ -type d -exec chmod 750 {} \;
    ●sudo find /var/www/html/cclfun/public/ -type f -exec chmod 640 {} \;
    ●大功告成,可以去你網頁用domain或子網域開啟網站,正式安裝wordpress

wordpress安裝

  • 剛剛設定mysql的database,帳號密碼馬上就派上用場了,一個新的wordpress很快就啟用了
    但是我這次復原的重點是放在All-in-One WP Migration 是否真的能夠復原我的網站
    所以我急急忙忙的先去外掛把這個程式安裝起來了
    接著選取我事先配分好的檔案,大小大概有250MB左右
    (因為是自己架的站,軟體的上傳大小限制,在上面PHP的調整是完全有顧慮到這個問題)
    緊接著花個大概3-5分鐘,我的站就完全還原回來了
    完全不用去管任何設定,或是一些外掛細微的調整
    資料庫部分也不用顧,它都有完全對應到新架站的細節
    大成功,真的大成功,讚
  • 除了網站的還原成功外,我也很快的利用再生龍把整顆硬碟,硬碟對硬碟的對拷了三份
    這樣就再也不怕網站突然掛掉了,不管是從架站面,或是網站面,都有還算完善的備份措施
    這些東西搞下來,大概花了一天左右的時間
    好吧打算這樣再撐一陣子好了
    看來是不必要浪費那個錢去每年買空間
    以此作為記錄

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *