摘要:由于個人服務器配置較低,使用的是的的服務器,另外不喜歡環境,網上找了很多教程都出現一些奇奇怪怪的問題,最后結合官方文檔最終搭建好圖床。這將移除一些匿名用戶和測試數據庫,并且禁用遠程登錄。
由于個人服務器配置較低,使用的是Ucloud的1H1G的服務器,另外不喜歡LNMP環境,網上找了很多教程都出現一些奇奇怪怪的問題,最后結合官方文檔最終搭建好 Chevereto 圖床。
預覽地址:http://owye.cc
環境要求:
注意:在開始之前,先更新系統。
sudo apt update && sudo apt upgrade
Nginx的軟件包在Ubuntu20.04默認軟件倉庫中可用。
# 安裝Nginx
ubuntu@10-23-202-173:~$ sudo apt install nginx
安裝完成后,檢查Nginx服務的狀態和版本:
# 查看運行狀態
ubuntu@10-23-202-173:~$ sudo systemctl status nginx
# 查看nginx版本
ubuntu@10-23-202-173:~$ sudo nginx -v
如果正在運行防火墻,則還需要打開端口80和443(默認未開啟,此步驟可忽略)
# 開放端口
ubuntu@10-23-202-173:~$ sudo ufw allow Nginx Full
# 驗證更改
ubuntu@10-23-202-173:~$ sudo ufw status
使用systemctl管理Nginx服務,您可以像任何其他systemd一樣管理Nginx服務。
# 關閉nginx
ubuntu@10-23-202-173:~$ sudo systemctl stop nginx
# 啟動nginx
ubuntu@10-23-202-173:~$ sudo systemctl start nginx
# 重啟nginx
ubuntu@10-23-202-173:~$ sudo systemctl restart nginx
# 重載Nginx服務
ubuntu@10-23-202-173:~$ sudo systemctl reload nginx
# 禁用Nginx服務在開機時啟動
ubuntu@10-23-202-173:~$ sudo systemctl disable nginx
# 開機自啟動
ubuntu@10-23-202-173:~$ sudo systemctl enable nginx
# 安裝MySQL
ubuntu@10-23-202-173:~$ apt install mysql-server
執行上面命令安裝MySQL,不會設置密碼或者做任何其它配置。因為,這樣會使你的安裝不安全,我們將在下一步解決該問題。
# 運行安全腳本
ubuntu@10-23-202-173:~$ sudo mysql_secure_installation
Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
接下來所有問題可以輸入Y或者回車,采用默認配置即可。這將移除一些匿名用戶和測試數據庫,并且禁用遠程root登錄。同時,將加載這些新規則以使您做的變更能夠在MySQL立刻生效。
為了能夠以root用戶通過密碼的方式連接MySQL,將其認證方式從auth_socket
方式變更為mysql_native_password
。進行該設置,通過終端打開MySQL的提示符:
ubuntu@10-23-202-173:~$ sudo mysql
# 檢查您的MySQL系統每個用戶的認證方式
mysql> SELECT userauthentication_stringpluginhost FROM mysql.user;
可以看到實際上root用戶通過auth_socket插件的方式進行認證。要將root用戶設置為通過密碼認證,運行如下ALTER USER命令。務必將密碼設置為高強度的密碼,需要注意的是該操作將改變前面設置的密碼:
# 創建chevereto數據庫
CREATE DATAbase chevereto;
# 創建用戶名
CREATE USER chevereto IDENTIFIED BY chevereto;
# 設置root用戶密碼
ALTER USER root@localhost IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY wjywkr5R@..;
注意: 必須記下數據庫名稱,用戶名和密碼,因為稍后將需要這些詳細信息。
# 刷新,使更改生效
mysql> FLUSH PRIVILEGES;
# 查看更改是否生效
mysql> SELECT userauthentication_stringpluginhost FROM mysql.user;
# 退出MySQL終端
exit
# 查看mysql服務狀態
ubuntu@10-23-202-173:~$ systemctl status mysql.service
# 啟動服務
sudo systemctl start mysql
# 停止服務
sudo systemctl stop mysql
# 查看mysql版本
ubuntu@10-23-202-173:~$ mysql -V
mysql Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
ubuntu20.04自帶的php為php7.4
ubuntu@10-23-202-173:~$ sudo apt install php-fpm php-zip php-curl php-mbstring php-gd php-mysql
配置PHP處理器,使用root權限打開主配置文件。
sudo nano /etc/php/7.4/fpm/conf.d/chevereto.ini
# Paste Ctrl+Shift+V this
upload_max_filesize = 20M;
post_max_size = 20M;
max_execution_time = 30;
memory_limit = 512M;
# Write close Ctrl+o Ctrl+x.
創建網站文件的路徑,并分配www-data
所有者和組。
sudo mkdir -p /var/www/html/owye.cc/public_html
sudo chown www-data:www-data /var/www/html/owye.cc/public_html
刪除默認的NGINX網站。
sudo rm -f /etc/nginx/sites-enabled/default
使用 nano 編輯器創建網站配置文件。
sudo nano /etc/nginx/sites-available/owye.cc.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name owye.cc www.owye.cc;;
root /var/www/html/owye.cc/public_html;
index index.html;
# Context limits
client_max_body_size 20M;
# Disable access to sensitive files
location ~* (app|content|lib)/.*.(po|php|lock|sql)$ {
deny all;
}
# Image not found replacement
location ~ .(jpe?g|png|gif|webp)$ {
log_not_found off;
error_page 404 /content/images/system/default/404.gif;
}
# CORS header (avoids font rendering issues)
location ~ .(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
add_header Access-Control-Allow-Origin "*";
}
# Pretty URLs
location / {
index index.php;
try_files $uri $uri/ /index.php$is_args$query_string;
}
location ~* .php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param script_FILENAME $document_root$fastcgi_script_name;
fastcgi_param script_NAME $fastcgi_script_name;
}
}
創建網站符號鏈接(可用網站)。
sudo ln -s /etc/nginx/sites-available/owye.cc.conf /etc/nginx/sites-enabled/
重新啟動PHP和NGINX。
sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx
安裝Certbot和特定于Web服務器的軟件包,然后運行Certbot。
# 安裝Certbot
sudo apt install python3-certbot-nginx
# 運行Certbot,會提示輸入郵箱,以便使用ssl
sudo certbot --nginx
將安裝程序下載到您的網站目錄中,并以www-data的形式屏蔽。
sudo -u www-data wget -O /var/www/html/owye.cc/public_html/installer.php https://chevereto.com/download/file/installer
瀏覽器輸入owye.cc/installer.php
按照以下步驟安裝,接下來使用圖形化界面安裝就可以了,需要注意的是必須記住前面創建的數據庫名稱,數據庫用戶名和密碼。
完結撒花!
參考文檔:https://v3-docs.chevereto.com/setup/requirements.html#php
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/126218.html
摘要:網上已經一些運行不錯的圖床了,比如圖殼路過圖床那為什么我們還要自己搭建圖床呢一來是因為碼農總是喜歡折騰,二來是有了自己的圖床數據自己存儲更安全。下面是演示地址,可以先看一下搭建完成的效果。我們是以作為原型進行搭建。網上已經一些運行不錯的圖床了,比如SM.MS https://sm.ms/圖殼 https://imgkr.com路過圖床 https://imgchr.com/那為什么我們還要自...
摘要:本篇文章就來分享一下兩款開箱即用上手容易的圖床相冊程序和在線文件管理器目錄列表程序,由好友開發并維護,非常適合個人站長用作圖床相冊和文件下載分享。雖然說現在照片還有文件存儲等都可以上傳到網盤中,但是國內的網盤與國外的網盤存儲還有點不一樣。以百度網盤與Dropbox對比為例,百度網盤頂多算是一個個人用來存放私人照片和文件的網絡硬盤,如果用來分享的話很容易被百度限制或者取消下載。很多的個人站長為...
摘要:筆主很早就開始用阿里云存儲服務當做自己的圖床了。阿里云對象存儲文檔,本篇文章會介紹到整合阿里云存儲服務實現文件上傳下載以及簡單的查看。 Github 地址:https://github.com/Snailclimb/springboot-integration-examples(SpringBoot和其他常用技術的整合,可能是你遇到的講解最詳細的學習案例,力爭新手也能看懂并且能夠在看完...
摘要:其實這個應用并不是那么的特別需求,一來本人寫越來越少,二來開發工作也是越做越少,再者目前的編輯器幾乎都支持直接剪切板上傳圖片,使圖床應用的場景越來越少。 其實這個應用并不是那么的特別需求,一來本人寫blog越來越少,二來開發工作也是越做越少,再者目前的編輯器幾乎都支持直接剪切板上傳圖片,使圖床應用的場景越來越少。不過本人本著不想丟棄技術的內心想法,以及鍛煉自己寫一個完整項目,還是開啟了...
摘要:注意選擇是方式還是方式,如果已經配置好方式的話建議用這種方式,因為需要輸入賬號密碼。如果有任何覺得需要改進的地方請留言或者在中提出,非常感謝地址原文地址利用做圖床小工具 前言 最近使用自己搭建的一個博客系統Fame寫博客,博客中的圖片是利用github做圖床的,配合RawGit獲取圖片中的鏈接,只是這樣每次都感覺很麻煩,于是寫了一個小工具方便上傳圖片和獲取鏈接。 環境需求 java8...
閱讀 3514·2023-04-25 20:09
閱讀 3720·2022-06-28 19:00
閱讀 3035·2022-06-28 19:00
閱讀 3058·2022-06-28 19:00
閱讀 3132·2022-06-28 19:00
閱讀 2859·2022-06-28 19:00
閱讀 3014·2022-06-28 19:00
閱讀 2610·2022-06-28 19:00