Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一小時完成 VPS (Virtual Private Server) 部署 #21

Open
futianshen opened this issue Oct 28, 2018 · 4 comments
Open

一小時完成 VPS (Virtual Private Server) 部署 #21

futianshen opened this issue Oct 28, 2018 · 4 comments

Comments

@futianshen
Copy link
Collaborator

futianshen commented Oct 28, 2018

事前準備

  • 信用卡一張
  • 密碼產生器(使用之後請記得把密碼存下來)

1. 選擇虛擬主機商

依據以下標準及參考資料我選擇 Linode 最低配,一個月約 150 台幣。

  • 使用需求:個人網站不要求速度
  • 搬移成本
  • 價格穩定度
  • 上手難易度
  • 手邊可得的學習資源

購買步驟參考以下網址,作業系統選擇 Ubuntu 18.04 LTS。
《如何在Linode VPS上架設Ubuntu》
《在Linode安裝 Wordpress》
《在 Linode 上建立免費且疾速...》
《透過Linode架設靜態網站》

主機商選擇參考資料

https://hostadvice.com/tools/web-hosting-comparison/amazon-web-services-vs-linode/
https://www.linode.com/community/questions/8466/linode-vs-amazon-aws
https://stackshare.io/stackups/amazon-ec2-vs-digitalocean-vs-linode
https://progressbar.tw/posts/131
https://progressbar.tw/posts/102
https://www.slideshare.net/ccckmit/ss-72398210

2. 安裝主機上的軟體

  1. 進入虛擬主機,在 iTerm2 上輸入 ssh root@虛擬主機的 IP address
    輸入剛剛在 Linode 設定的 Root Password

  2. 升級 ubuntu
    sudo apt update && sudo apt upgrade

  3. 安裝 LAMP
    sudo tasksel install lamp-server

  4. 設定Apache
    apache2ctl configtest
    vim /etc/apache2/apache2.conf 進入 vim 編輯器,在最上方加上 ServerName 虛擬主機的 IP address
    sudo systemctl restart apache2 重啟Apache

  5. 設定防火牆
    sudo ufw app list
    sudo ufw app info "Apache Full"
    sudo ufw allow in "Apache Full"
    sudo ufw enable

  6. 關閉 Auto Index(如果文件中沒有 index 標題的檔案,會直接出現你的根目錄,要把這個功能關掉)
    sudo a2dismod autoindex
    sudo systemctl restart apache2

  7. 設定 MySQL 的 root 密碼
    sudo mysql -u root mysql
    SELECT user,authentication_string,plugin,host FROM mysql.user;
    UPDATE user SET plugin='mysql_native_password' WHERE User='root';
    SELECT user,authentication_string,plugin,host FROM mysql.user;
    FLUSH PRIVILEGES;
    exit
    sudo mysql_secure_installation y 2 符合強度要求的密碼 yyyyy...

  8. 更改執行 index 檔案的順序
    sudo vim /etc/apache2/mods-enabled/dir.conf

  9. 查看 php 詳細資料
    apt-cache show php-cli
    cd /var/www/html
    sudo vim info.php
    在網址輸入框中輸入 ip位置/info.php 即可看到詳細資訊

  10. 安裝 phpmyadmin
    sudo apt install phpmyadmin php-mbstring php-gettext
    sudo phpenmod mbstring
    sudo systemctl restart apache2
    在網址輸入框中輸入 ip位置/phpmyadmin 即可登入 phpmyadmin
    帳號為 root 密碼為第7步設定的MySQL密碼

  11. 允許使用 PHP Short tag
    vim /etc/php/7.2/apache2/php.ini
    找到 short_open_tag = 改成 ON
    離開 vim 編輯器

參考資料

https://magiclen.org/lamp/
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-18-04
https://www.linode.com/docs/web-servers/lamp/install-lamp-stack-on-ubuntu-18-04/
https://www.linode.com/docs/websites/hosting-a-website-ubuntu-18-04/#upload-files
https://medium.com/techkylabs/how-to-install-linux-apache-mysql-php-lamp-on-ubuntu-16-04-f82a60b0d40d
https://itw01.com/HVGEAIH.html
https://magiclen.org/lamp/

3. 將網頁上傳到主機

  • 將 local 端的 phpmyadmin 資料庫輸出,並在主機的 phpmyadmin 上輸入。

  • 使用 Filezilla 上傳網頁檔案
    帳號: root
    密碼: 在 Linnode 上設定的 root password
    根目錄:/var/www/html

4. 購買 Domain 並綁定 IP 位置

網域 Domain 的申請

@futianshen futianshen changed the title 一小時完成 VPS (Virtual private server) 部署 一小時完成 VPS (Virtual Private Server) 部署 Oct 28, 2018
@a2d8a4v
Copy link

a2d8a4v commented Nov 19, 2018

哇我的文章變成參考資料了w,好開心

@futianshen
Copy link
Collaborator Author

很好奇你怎麼找到這裡的

@a2d8a4v
Copy link

a2d8a4v commented Nov 19, 2018

網站後台可以知道喔~

@BoisonChang
Copy link

網站後台可以知道喔~

網站後台訪客來源有精準到網址嗎?不是都是網域而已~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants