phpmyadmin 新增使用者
|

在VPS上安裝ubuntun14.04,建立WordPress

記錄在VPS上從部署Ubuntun,安裝LAMP後架WordPress的步驟,並補充說明進階議題,如安全性、舊站搬家等內容。

Step 1 在VPS部署一台新機器

  1. 選擇規格
  2. Deploy Ubuntu 14.04

 

Step 2 Ubuntu基本設定

  1. 以SSH root@IP位置 登入
    • ssh root@xx.xx.xx.xx
    • 若無法登入時,在客戶端輸入如下指令:
      ssh-keygen -R 伺服器端的IP或網址
  2. 更新套件
    • apt-get update && apt-get upgrade
  3. 更新Host Name
    • hostname 輸入自己想要的名字
    • echo "hostname" > /etc/hostname
      hostname -F /etc/hostname
    • 確認資料夾中是否有/etc/default/dhcpcd這個檔案(新裝好的基本上都是沒有)
    • ls /etc/default
    • 修改 /etc/hosts檔案
      • 開啟nano 編輯器,新增下列內容
      • hostname.example.com可省略
    • nano /etc/hosts
    • 127.0.0.1 localhost.localdomain localhost
      12.34.56.78 hostname.example.com hostname
  4. 更新Time Zone
    • 更新時區後,用date檢查
    • dpkg-reconfigure tzdata
    • date

Step 3 Ubuntu安全性設定

  1. 要經常更新,但是否要自動化取決於自己。
  2. 新增使用者
    • root的權限太大,應該要另外新增一個使用者,再搭配sudo指定操作會比較安全。
    • 新增使用者/輸入密碼,加入使用者sudo權限,登出root,重新以user身份登入
      adduser example_user
      adduser example_user sudo
      exit
      ssh example_user@IP位置
  3. 產生金鑰 (本步驟跳過)
    • 在本機 (MAC)
    • ssh-keygen -b 4096
      • 用預設的名稱就好,稱入密碼短語(passpharse)
    • 在VPS
    • sudo mkdir -p ~/.ssh && sudo chmod -R 700 ~/.ssh
  4. Fail2Ban
  5. 防火牆設置-1 (5或6擇一)
    • 列出規則
    • 修改 File: /tmp/v4
    • 貼上內容
      sudo iptables -L
      nano/tmp/v4
      *filter
      # Allow all loopback (lo0) traffic and reject traffic
      # to localhost that does not originate from lo0.
      -A INPUT -i lo -j ACCEPT
      -A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT
      # Allow ping.
      -A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT
      # Allow SSH connections.
      -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
      # Allow HTTP and HTTPS connections from anywhere
      # (the normal ports for web servers).
      -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
      -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
      -A INPUT -P tcp --dport 8080 -m state --state NEW -j ACCEPT
      
      # Allow inbound traffic from established connections.
      # This includes ICMP error returns.
      -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      # Log what was incoming but denied (optional but useful).
      -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables_INPUT_denied: " --log-level 7
      # Reject all other inbound.
      -A INPUT -j REJECT
      # Log any traffic which was sent to you
      # for forwarding (optional but useful).
      -A FORWARD -m limit --limit 5/min -j LOG --log-prefix "iptables_FORWARD_denied: " --log-level 7
      # Reject all traffic forwarding.
      -A FORWARD -j REJECT
      COMMIT
  6. 防火牆設置-2 (5或6擇一)

 

Step 4 安裝LAMP

 

  1. 安裝Apache2
    • sudo apt-get install apache2
    • Y
    • Enabling site 000-default.

  2. 安裝PHP
    • sudo apt-get install php5 php5-mysql
    • Y
    • 安裝成功後,在瀏覽器輸入IP,可以看到這個畫面 “it works!”
    • 完成安裝apache2,php後
  3. 安裝MySQL
    • sudo apt-get install mysql-server
    • Y
    • 輸入MySQL root密碼,畫面如下:
    • 安裝MySQL輸入Root密碼
  4. 安裝phpmyadmin
    • sudo apt-get install phpmyadmin
    • Y
    • 選擇Apache2,(記得按空白鍵選擇,出現星號才有選成,按Enter繼續下一步)
    • configuring phpmyadmin - apache
    • 選擇Yes
    • Screenshot 2016-01-02 22.58.59
    • 輸入MySQL密碼(前一步時自己輸入的密碼)
    • Screenshot 2016-01-02 22.59.14
    • 設定MySQL連接phpMyAdmin的密碼,我設定跟前一步同樣的密碼
    • Screenshot 2016-01-02 22.48.26
    • 確定安裝成功後,可以看到下列畫面,在瀏覽器輸入http://IP/phpmyadmin
    • phpmyadmin完成安裝後出現登入畫面
    • ubuntu13.10 server 版本phpmyadmin出現缺少 mcrypt 外掛。請檢查 PHP 設定。如何解決?
    • apt-get install php5-mcrypt
    • sudo php5enmod mcrypt
    • sudo service apache2 restart
  5. rewrite apache2.conf
    • rewrite apache2.conf
    • cd etc
      cd apache2
      sudo nano apache2.conf
    • 修改權限
      • <Directory />

        AllowOverride All

        </Directory>

      • <Directory /var/www/>

                AllowOverride All

        </Directory>

    • Reload Apache2
    • sudo service apache2 reload
    • sudo a2enmod rewrite
    • sudo service apache2 restart
    • OK
  6. 更名 /var/www/html
    • 更新/var/www/html檔名
    • sudo mv html old

 

Step 5 下載WordPress

  1. 下載Wordpress安裝包
  2. 解壓縮
    • sudo tar xvf wordpress-4.4-zh_TW.tar.gz
    • 將解壓縮後的資料夾從wordpress更名為html
    • sudo mv wordpress html
    • 成功可看到這個畫面,在瀏覽器輸入http://IP
    • 安裝wordpress-權限不足
  3. 更改權限
    • sudo chown www-data:www-data /var/www/html/ -R
    • sudo chmod 775 -R /var/www/ 
    • sudo usermod -a -G www-data erica
    • id erica
    • groups
    • Screenshot 2016-01-02 23.52.28

 

Step 6 設定資料庫

  1. 登入phpMyAdmin
    • 使用者 -> 新增使用者
    • 勾選 「建立與使用者同名的資料庫並授予所有權限」
    • phpmyadmin 新增使用者
    • 安裝wordpress,輸入資料庫資料
  2. 設定基本資料與帳密
    • 安裝wordpress-設定基本資料與帳密
    • 完成安裝Wordpress
  3. 登入後台,完成!
    • Screenshot 2016-01-03 00.10.42
    • 記得刪掉readme.txt / license.html檔
  4. 更新權限

 

Step 7 設定DNS

  • 將想要使用的網域,把DNS指向IP即可
    • 使用CloudFlare設定DNS

 

進階議題:

調教網站效能:

 

WordPress安全性:

 

以下步驟,用於舊網站搬家使用:

  1. 登入FTP
    1. Filezilla選sFTP
    2. 用之前新增的帳密登入
  2. 下載舊站資料庫
    1. 安裝外掛WordPress Database Backup
    2. 下載資料庫到本機
    3. WordPress Database Backup
  3. 新增資料庫,匯入舊站資料庫
  4. 修改wp-config.php檔(從FTP下載/上傳)
    1. 修改資料庫跟使用者名稱
    2. 如果成功,新網站會從新的Wordpress變成一遍白
  5. (如果網址有改變)修改資料庫中wp_options的url欄位
  6. 下載舊網站的WP資料夾,並將內容上傳至新網站的FTP中(wp-config.php除外)
    1. 上傳zip檔再解壓縮會比較快
    2. sudo apt-get install unzip
    3. sudo unzip g.zip
  7. 更新DNS
  8. 改變資料夾權限(參考上面步驟)

 

 

補充說明:

如果有需要VPS主機商,我目前使用的是Vultr.com,優惠碼請參考:Vultr.com – promo code 優惠碼

Similar Posts

One Comment

  1. 你好啊, 我黎到呢步就不行進一步了
    [sudo nano apache2.conf]
    我將內容修改以下的

    AllowOverride All

    AllowOverride All

    Reload Apache2
    sudo service apache2 reload

    然後SAVE後想reload apache2就出現了
    AH00534: apache2: Configuration error: No MPM loaded.
    * Restarting web server apache2 [fail]

    是我改apache2.conf的內容不對嗎?
    謝謝

發佈留言

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