摘要
博主用閑置已久的樹莓派搭建了LAMP環境的服務器(LNMP也做了,不過沒采用),而后配置部署了Typecho個人博客與Owncloud私有雲,文中先講述Typecho博客的搭建步驟以及遇到的問題,再描述Owncloud私有雲的搭建步驟。
1.前言
樹莓派:基於Linux系統的微型卡片電腦,現在是2020年了,對樹莓派不做過多介紹了(樹莓派官網)。
Typecho:一款內核強健﹑擴展方便﹑體驗友好﹑運行流暢的輕量級開源博客程序,相似的還有WordPress、Heox。 Typecho 和 WordPress 屬於動態博客, Hexo 屬於靜態博客,這里的“動態、靜態”主要是指其對數據處理的方式,通過數據庫來動態的查詢、調用、展示的叫“動態”,直接生成純.html網頁文件來供瀏覽的叫“靜態”,從服務器端來說靜態博客憑條的速度更加高效,動態博客平台因為需要數據庫、服務器端的腳本語言解析的支撐在速度上相對於靜態博客平台來說自然會低的。由於博主對建站的知識儲備有限,所以棄用了Hexo(后期可能會繼續嘗試),在Typecho 和 WordPress之間選用了Typecho,原因Typecho是更為輕量化,風格簡潔,可供選擇主題還算可以,懂一點網頁編程就能更好的改造出適合自己的主題,而WordPress相對較臃腫在樹莓派上運行有點吃力。所以選用了Typecho搭建個人博客。
Owncloud:是一個開源雲服務項目,可以實現類似百度雲,可以搭建在自己服務器上作為私有雲網盤。
LAMP:是常見的Web服務器環境解決方案,用於創建和管理Web應用程序的開源開發平台。Linux用作后端操作系統,Apache是Web服務器,MySQL是數據庫,PHP是腳本語言。
2.LAMP環境搭建
關於raspbian系統燒寫與相關配置,本文不做過多介紹,網上教程很多,相對較為簡單,基本不會出錯。
燒寫完系統后,通過網線將樹莓派連接到路由器上,使用PUTTY遠程連接樹莓派,這里要保證電腦和樹莓派在同一個網段(我用的樹莓派地址是192.168.1.16,樹莓派的初始用戶名是pi,密碼是raspberry)。
連接成功后開始搭建LAMP環境吧。
2.1更換國內鏡像源
原始的樹莓派的源無法進行更新,需要更換國內的鏡像源(樹莓派官方鏡像列表)。
(1) 編輯/etc/apt/sources.list
文件,在命令行窗口輸入以下代碼
$ sudo nano /etc/apt/sources.list
用#
注釋掉原文件內容,寫入以下內容
-
deb http:/ /mirrors.tuna.tsinghua.edu.cn/raspbian /raspbian/ stretch main contrib non-free rpi
-
deb-src http:/ /mirrors.tuna.tsinghua.edu.cn/raspbian /raspbian/ stretch main contrib non-free rpi
然后按Ctrl+o,Enter保存,Ctrl+x退出。
(2)編輯編輯/etc/apt/sources.list.d/raspi.list
文件,在命令行窗口輸入以下代碼
$ sudo nano /etc/apt/sources.list.d/raspi.list
用#
注釋掉原文件內容,寫入以下內容
-
deb http: //mirrors.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
-
deb-src http: //mirrors.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
然后按Ctrl+o,Enter保存,Ctrl+x退出。
最后執行
-
$ sudo apt- get update
-
$ sudo apt- get upgrade
問題:在執行upgrade的過程中有可能遇dpkg: error processing package XXX (--configure)問題或者Errors were encountered while processing,解決方法如下:
-
$ sudo mv /var/lib/dpkg/info/ /var/lib /dpkg/info_old/
-
$ sudo mkdir /var/lib/dpkg/info/
-
$ sudo apt-get update
-
$ sudo apt-get -f install
-
$ sudo mv /var/lib/dpkg/info/* /var/lib /dpkg/info_old/
-
$ sudo rm -rf /var/lib/dpkg/info
-
$ sudo mv /var/lib/dpkg/info_old/ /var/lib /dpkg/info /
2.2安裝Apache
$ sudo apt-get install apache2
完成Apache安裝后,我們通過重啟Apache服務檢查是否正常安裝,命令如下。
-
$ sudo /etc/ init.d/apache2 start //啟動
-
$ sudo /etc/ init.d/apache2 restart //重啟
-
$ sudo /etc/ init.d/apache2 stop //關閉
問題:如果之前安裝過Nginx,可能會有端口號沖突的問題,修改方法如下
$ sudo nano /etc/nginx/sites-available/default
-
server {
-
listen 8080 default_server;
-
# listen [::]:80 default_server;
-
....
將端口號修改為了8080,可以避免沖突,當然其他的端口號也可以。
命令行輸入apachectl -v,可以查看apache版本號。
2.3安裝MySQL
$ sudo apt install mariadb-server
完成數據庫安裝后,需要添加數據庫,執行以下指令
-
$ $ sudo mysql -u root
-
...
-
...
-
MariaDB [(none)]> use mysql;
-
MariaDB [mysql]> update user set plugin= 'mysql_native_password' where user= 'root';
-
MariaDB [mysql]> UPDATE user SET password=PASSWORD( 'root的密碼') WHERE user= 'root';
-
MariaDB [mysql]> flush privileges;
-
MariaDB [mysql]> exit;
重啟數據庫驗證安裝結果:
$ sudo /etc/init.d/mysql restart
命令行輸入mysql --version或mysql -V,可查看mysql版本號。
2.4 安裝PHP7.0
-
$ sudo apt-get install nginx php7 .0-fpm php7 .0-cli php7 .0-curl php7 .0-gd php7 .0-mcrypt php7 .0-cgi php7 .0-sqlite php7 .0- xml
-
$ sudo apt install libapache2- mod-php
測試PHP是否正常安裝,可以在命令行輸入sudo nano /var/www/html/index.php,然后輸入以下內容:
-
-
phpinfo();
-
重啟apache和php7.0-fpm
-
$ sudo /etc/ init.d/apache2 restart
-
$ sudo /etc/ init.d/php7. 0-fpm restart
在電腦瀏覽器中輸入樹莓派的IP地址即可檢查是否配置成功,成功界面如下:
2.5安裝phpMyAdmin
對新手來說,在樹莓派上使用命令行操作MySQL數據庫比較困難,在樹莓派上安裝了PHPMyAdmin后,就可以通過可視化的網頁來管理數據庫了,輸入以下命令
$ sudo apt-get install phpmyadmin -y
安裝中會提示選擇服務器,選擇Apache2; dbconfig-common選擇No,完成PHPMyAdmin的安裝。
然后在電腦瀏覽器中輸入http://"你的樹莓派IP"/phpmyadmin,然后用戶名輸入root,密碼是在安裝MySql時設置的密碼。
問題:在瀏覽器輸入登錄phpMyAdmin的時候可能會遇到網頁中顯示PhpMyAdmin gives this output: json extension is missing的問題。
解決方法:輸入sudo nano /etc/php/7.0/apach2/php.ini,打開php.ini文件寫入
-
extension=json.so
-
extension= json. dll
-
重啟apache2,sudo service apache2 restart,再次進入phpMyAdmin即可正常登錄。
3. 搭建Typecho
為了保證安裝配置過程順利需要修改文件夾權限,安裝完成后可以將權限再重新改回,然后下載Typecho,並解壓。
-
$ sudo chmod -R 777 / var/www/html
-
$ cd / var/www/html
-
$ sudo wget http: //typecho.org/downloads/1.1-17.10.30-release.tar.gz //下載typecho
-
$ tar zxvf 1.1 -17.10 .30-release.tar.gz //解壓
-
$ mv build /* /var/www/html //將文件移至根目錄
在電腦瀏覽器中輸入樹莓派IP地址,訪問typecho安裝界面:
問題:可能出現的問題,有typecho數據庫適配器為空,無法選擇
解決方法:輸入sudo nano /etc/php/7.0/apach2/php.ini,找到extension代碼段,把關於sql代碼行前面的分號去掉,然后再將下面代碼添加到php.ini文件中,即可解決問題。
-
extension=pdo.so
-
extension= pdo_sqlite. so
-
extension= pdo_mysql. so
-
extension= sqlite. so
-
extension= pdo_mysql. so
-
extension= php_pdo. dll
-
extension= json. so
-
extension= json. dll
問題:還可能會遇到數據庫無法連接的問題,typecho顯示“對不起,無法連接數據庫,請先檢查數據庫配置再繼續進行安裝”
解決方法:進入我們之前安裝的phpMyAdmin界面(http://"你的樹莓派IP"/phpmyadmin),然后新建typecho數據庫,即可解決問題。
完成typecho安裝后,可以訪問一下自己的blog了,再瀏覽器中輸入樹莓派IP:
如果感覺主題不好看可以,在Typecho主題模板站中下載更多主題。
將下載的主題解壓出來,通過FileZilla軟件傳輸到/var/www/html/usr/themes目錄下,然后登錄typecho后台管理界面,打開控制台頁面,點擊‘更換外觀’,即可看到我們新添加的主題,再點擊啟用完成主題更換。
比較簡潔的主題:
typecho更多的玩法還需要不斷的嘗試,折騰起來吧~
問題:typecho更換外觀時可能出現Call to undefined function token_get_all()
解決方法:命令行輸入 sudo nano /etc/php/7.0/apache2/php.ini,並添加代碼extension=tokenizer.so
問題:Typecho點擊前台鏈接或者后台登錄時出現404的解決方法
Typecho 這個開源博客系統的問題我之前就想發出來的,但是因為博客沒有 Typecho 的分類,也不太研究 Typecho 就暫時放着了
前段時間我在折騰阿里雲贈送的服務器時,安裝了下 Typecho
這個程序,使用軍哥一鍵包安裝的 LNMP,這里大概說一下我遇到的問題吧
1、安裝程序時無法連接數據庫
在把程序放到目錄下,進行安裝的時候,將數據庫的密碼輸入正確后,無法進行安裝
這個時候處理方式就是手動創建一個 typecho
的數據庫即可解決
2、無法登錄后台
Nginx 服務器點擊前台鏈接或者后台登錄時出現 404, not found
官方給的解決方式是一般的出現這種情況時,nginx.conf
里的 location
設置都是類似這樣
location ~ .*\.php$
要支持 pathinfo,要改成
location ~ .*\.php(\/.*)*$
在某些老版本的 php 里面,可能還要打開 php.ini 里的 cgi.fix_pathinfo
cgi.fix_pathinfo = 1
我沒有按照這個來,頁面 404 一般都是偽靜態的問題,在軍哥的一鍵包中有偽靜態設置,在添加的時候默認使用了 other.conf
,這里要換成 typecho.conf
軍哥的一鍵包中默認已經有了一些常用的 Nginx 偽靜態配置文件,可以直接輸入名稱進行使用
我選擇使用 wordpress 的配置,修改原來的偽靜態配置,配置文件在:/usr/local/nginx/conf/vhost/域名.conf
把 include other.conf;
改為 include wordpress.conf;
執行:/etc/init.d/nginx restart 重啟生效
然后訪問是沒有問題了,但是點擊登陸又是 404,真是問題一個接一個
把 enable-php.conf
修改為下面這個配置 然后重啟 nginx 服務即可
location ~ [^/]\.php(/|$)
{
#try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
include pathinfo.conf;
}
4. 搭建owncloud
進入owncloud官網,再Download界面可以下載最新版owncloud文件,點擊download即可下載,不過最新版的owncloud好像需要php在7.3版本以上,由於我用的是php7.0,沒有下載最新版文件,而是用的owncloud-10.3.2。可以在電腦上下載完成后通過FTP傳輸到樹莓派中然后再進行解壓。
-
$ sudo unzip owncloud- 10.3. 2. zip -d / var/www/html/ //解壓
-
$ cd / var/www/html/owncloud //進入owncloud目錄
-
$ sudo mkdir data //(建立數據庫目錄)
然后修改目錄權限,ownCloud在安裝的過程中需要對一些目錄有寫的權限,為此,web服務器用戶(www-data對於基於Debian的系統)必須要擁有apps、data、config目錄的權限。運行以下命令完成:
-
$ cd / var/www/html/owncloud
-
$ sudo chown -R www- data:www- data data
-
$ sudo chown -R www- data:www- data config
-
$ sudo chown -R www- data:www- data apps
再打開瀏覽器,輸入 http://“你的樹莓派IP“/owncloud ,進入設置安裝界面,根據提示安裝填寫管理用戶名,密碼;以及選擇合適的數據庫,填寫數據庫用戶名,密碼等,即可完成安裝。
問題:安裝過程中可能會遇到PHP xxx模塊未安裝的問題(PHP ctype,gd,iconv,curl模塊未安裝),需要apt-get install進行安裝,如果安裝后還是顯示模塊未安裝,可通過下面方法解決:
解決方法:命令行輸入 sudo nano /etc/php/7.0/apache2/php.ini,並添加以下代碼
-
extension=ctype.so
-
extension= gd. so
-
extension= iconv. so
-
extension= curl. so
-
完成安裝后測試下載速度,反正比百度雲快一些
5.總結
搭建過程看似簡單,實際上會遇到這樣或那樣的問題,遇到問題不要怕,多查閱資料,享受解決問題的過程。問題解決后帶來的愉悅感是非常美妙的,拿起手中的樹莓派,折騰起來吧。
后續還做了辦公室訪問家中樹莓派服務器的方法,前往鏈接。