有坂深雪 Miyuki Arisaka
有坂深雪 Miyuki Arisaka

[Debain]安裝HestiaCP

2021新年快樂 🌞㊗☃ 最近利用時間嘗試了HestiaCPmyVesta這兩套源自於VestaCP的虛擬主機管理系統 🐱‍👓🐱‍ 🐱‍👓 從特點來說,除了都是只支援Debain系統之外(HestiaCP也支援Ubuntu),都非常強調安全性,但由於HestiaCP本身就有自帶PHP版本選擇器(有5.4、7.0~7.4、8.0可選),這就比較適合建站環境或是愛折騰的小朋友;而且HestiaCP的教學文件比較詳細,其在github上面的星星數量比較多,而且值得一說的是網站設定HSTS、HTTP/2後,在ssllabs測試直接就能拿到A+的成績,不需要在額外折騰喔 🐱‍🏍 實際安裝操作的感覺也是覺得HestiaCP比較貼近我的使用習慣、而且後台重新美化過 👍😘💪 當然myVesta也是很不錯的,兩者用起來就跟VestaCP差不多,這邊留個筆記做紀錄 🏂🐱‍🏍🏇

前置動作

由於我的個人習慣一直都是將主機名稱設定為我要設定的網域名稱(通常是子網域),而在HestiaCP的SSL設定可直接套用,所以我覺得HestiaCP比較貼近我的使用習慣 🚅🏎🛸🛥🚆

開始安裝HestiaCP

操作前先進入screen以避免斷線 🤓

screen -S HestiaCP

我這邊的設定是安裝Apache、NGiNX、多重PHP、Bind、Exim、MariaDB、Vsftpd、Fail2Ban,完全排除Email相關的功能是因為會吃非常多的資源;在這邊又發現HestiaCP有一個優點是可以直接指定使用的語系,並且可以指定控制台使用的連接埠 😎 其他相關的安裝選項可以參考HestiaCP的教學文件

由於Debain系統的特性,大多數軟件都刷刷刷的用apt就搞定了,起身動一動、泡個咖啡,大約15分鐘內就能安裝完畢了,而在安裝完畢後會在SSH畫面顯示登入資訊,記得將登入密碼抄下來然後重開機 🤖🤓🤖

調教HestiaCP

# 連結HestiaCP的小程式到/usr/bin來方便操作 🤓

# 使用主機名稱建立SSL,並產生HSTS、HTTP/2設定來增強安全性,然後強制HTTP轉址到HTTPS 🤓

主機名稱與網域名稱不同者需要改成用此指令 🤖

v-add-letsencrypt-domain admin lax1.520.be

# SSL檔案位置 🤖

/home/admin/conf/web/lax1.520.be/ssl/lax1.520.be.crt
/home/admin/conf/web/lax1.520.be/ssl/lax1.520.be.key
/home/admin/conf/web/lax1.520.be/ssl/lax1.520.be.ca

# 刪除不需要的主機方案 🤓

# 自訂白名單 🤓

# 範例 – 自訂開放的端口 🤖

# 自訂Fail2ban白名單 🤓

調教PHP

由於PHP 7.3版本不新也不舊,相關的套件也多,所以比起其他版本是比較適合建站環境,推薦使用 🤓🤖🤓

# 調整PHP 7.3參數,記憶體大一點的可以額外再提高opcache.memory_consumption這個參數 🤓

這邊最尾端只要出現Syntax OK的訊息,就代表設定都OK了~ 🤖

# 安裝Sqlite3、Redis、Memcached 🤓

# 安裝相關PHP套件 🤓

# 調整Redis參數,記憶體大一點的可以額外再提高maxmemory這個參數 🤓

# 重啟並驗證Redis 🤓

systemctl restart redis
systemctl restart php7.3-fpm
systemctl restart apache2
ps ax | grep redis-server && lsof -itcp -n -P | grep redis-server
php -m | grep redis
php -m | grep igbinary
redis-cli MONITOR

這邊只要都有出現回應就代表OK了 🤖

調教MariaDB

# 變更資料庫編碼為utf8mb4,防止表情符號出現亂碼 🤓

# 查詢MySQL root密碼 🤓

cat /usr/local/hestia/conf/mysql.conf | grep PASSWORD

# 將上面查詢到的MySQL root密碼,替換到下面的OOXX,然後顯示目前編碼 🤓

mysql -u root -pOOXX
show variables where variable_name like 'character_set_%' or variable_name like 'collation%';
quit
mysqladmin -u root -pOOXX status

建立初始環境

# 建立FTP帳號,登錄帳號admin_ftp001,登錄密碼OOXX 🤓

groupadd sftp-only
v-add-web-domain-ftp admin lax1.520.be ftp001 OOXX

# 建立資料庫,資料庫名稱admin_001使用者名稱admin_001、使用者密碼OOXX 🤓

v-add-database admin 001 001 OOXX mysql

# 建立網站統計 🤓

v-change-web-domain-stats 'admin' 'lax1.520.be' 'awstats'

# 下載常用工具 🤓

##### 初始環境
HestiaCP: https://lax1.520.be:8083/
帳號:admin
密碼:OOXX
> ftp://admin_ftp001:OOXX@lax1.520.be/public_html
# FTP帳號admin_ftp001
# FTP密碼OOXX
# 本機路徑: /home/admin/web/lax1.520.be/public_html
# MySQL資料庫名稱: admin_001
# MySQL帳號: admin_001
# MySQL密碼: OOXX
# 常用工具
> http://lax1.520.be/phpmyadmin/
> http://lax1.520.be/x-prober.php
> http://lax1.520.be/whoami.php
> http://lax1.520.be/php-benchmark-script.php
> http://lax1.520.be/woltlab-test.php

結語

由於VestaCP這套的虛擬主機管理系統已經已經很成熟,所以HestiaCP要調教的地方不多 🤷‍♂️🤷‍♀️🤷‍♂️ 實際上在2GB記憶體的VPS上運作跑Wordpress就非常順暢,控制台也比VestaCP好看很多,目前使用下來的感覺就只差期待日後能支援IPv6 🍻🍺🍻

ref.

打印本文 打印本文

關於 窮苦人家的小孩

In every democracy, the people get the government they deserve. ~Alexis de Tocqueville
上一篇:
下一篇:

您可能會喜歡

天使もえ 天使萌 Amatsuka Moe

systemd-fsck-root服務啟動失敗的解決辦法

今天半夜噹噹噹的被警告信吵醒, …