自從租了阿里云云翼服務器之後,一直想要搭建一個屬於我自己的私有云,可以存放一些資料什麼的,這兩天一直在配置環境,繞了很多彎路,在網上查遍資料,出現一個有一個bug,然後一個一個解決,整整花了兩天的時間才把nextcloud私有云搭建起來。
說句實在話,我對web和網絡一知半解,對前後端是知之甚少,完全是摸索着學習。一開始,雲棲社區文章說需要搭建LAMP的經典web環境,不過在雲棲中介紹的主要是阿里雲提供的一鍵配置工具,當時想省點力氣,也不想去深入學習web那些,所以就想走捷徑。雲棲提供的一鍵配置工具是收費的,2元錢,我沒買,而是去CSDN上下載了一個一鍵配置工具,但是沒有看清介紹,這個一鍵配置工具適用於Ubuntu14,對Ubuntu16.04的好像有些問題,當時沒注意,後來是真心後悔。
一鍵配置工具安裝的是Apache2、MySQL和PHP以及三者之間的依賴關係,但是可能因爲版本的原因,一直提示我缺少libphp5.so,然後去文件夾找也是沒找到,因爲這個文件缺失,導致了Apache2對PHP文件的解析失敗,每次在瀏覽器中訪問的時候,顯示的都是PHP代碼,而不是html網頁,嘗試了無數次的失敗,百度搜狗各種搜索引擎全部搜遍依然毫無所獲,甚至都有些想要放棄。最終,我嘗試了一次將所有環境全部卸載,重新安裝,不再使用一鍵配置工具,而是一個一個的安裝,接下來說一下LAMP環境的安裝步驟:
基本設置
1.配置網絡環境
阿里雲服務器一開始的時候,需要配置安全組,能夠讓電腦主機和服務器之間可以ping通,並且將服務器的80、3306、21和22等常用端口開放。
2.設置root密碼
sudo passwd
切換到root用戶:
su
或su -
或su root
切換到普通用戶:
su 用戶名
或logout
3.更新源
sudo apt-get update
源保存的文件爲:
/etc/apt/sources.list
安裝常用軟件
1.SSH
sudo apt-get install openssh-server
查看狀態:
service ssh status/start/stop/restart
或:
/etc/init.d/ssh status/start/stop/retsrt
實際上,service命令就是執行/etc/init.d腳本,二者功能是一樣的
2.Vim
sudo apt-get install vim
3.Tree
sudo apt-get install tree
4.Git
sudo apt-get install git
搭建LAMP
1.安裝Apache
sudo apt-get install apache2
測試: 瀏覽器訪問
http://Ubuntu的IP
,出現It Works!網頁。查看狀態:
service apache2 status/start/stop/restart
Web目錄:
/var/www
安裝目錄:
/etc/apache2/
全局配置:
/etc/apache2/apache2.conf
監聽端口:
/etc/apache2/ports.conf
虛擬主機:
/etc/apache2/sites-enabled/000-default.conf
2.安裝MySQL
sudo apt-get install mysql-server mysql-client
測試:
mysql -u root -p
查看狀態:
service mysql status/start/stop/retart
查看監聽端口的情況:
netstat -tunpl
或netstat -tap
在mysql中創建nextcloud數據庫,後面會用到:
create database nextcloud character set utf8;
3.安裝PHP
sudo apt-get install php7.0
測試:
php7.0 -v
4.安裝其他模塊
sudo apt-get install libapache2-mod-php7.0
sudo apt-get install php7.0-mysql
重啓服務
service apache2 restart
service mysql restart
測試Apache能否解析PHP
vim /var/www/html/phpinfo.php
文件中寫:
<?php echo phpinfo();?>
瀏覽器訪問:
http://ubuntu地址/phpinfo.php
,出現PHP Version網頁
5.修改權限
sudo chmod 777 /var/www
6.安裝phpMyAdmin
sudo apt-get install phpmyadmin
安裝:選擇apache2,點擊確定。下一步選擇是要配置數據庫,並輸入密碼。
創建phpMyAdmin快捷方式:
sudo ln -s /usr/share/phpmyadmin /var/www/html
啓用Apache
mod_rewrite
模塊:sudo a2enmod rewrite
重啓服務:
service php7.0-fpm restart
service apache2 restart
測試:瀏覽器訪問:
http://ubuntu地址/phpmyadmin
7.配置Apache
vim /etc/apache2/apache2.conf
到此爲止,web站點其實已經搭建起來了,只需在/var/www/html目錄下存放網頁文件,電腦主機就可以訪問服務器了,http://服務器IP/xxx.html,然後就是把nextcloud下載過來即可。
添加:
AddType application/x-httpd-php .php .htm .html
AddDefaultCharset UTF-8
重啓Apache服務
下載nextcloud
wget https://download.nextcloud.com/server/releases/nextcloud-11.0.1.zip
unzip nextcoud-11.0.1.zip
這樣就把nextcloud包下下來了,uzip沒找到命令的再去單獨安裝apt-get install uzip,解壓後,在html文件夾下就有了nextcloud文件夾了,接下來只需要在電腦主機的瀏覽器上輸入http://服務器IP/nextcloud,然後就出現了下面的畫面
出現這樣的話 證明你沒有給nextcloud目錄權限
# cd /var/www/html
# chown apache nextcloud -Rf
# chmod 770 nextcloud -Rf
刷新瀏覽器出現
# apt-get install php7.0-dom php7.0-gd
# service apache2 restart
然後一刷新瀏覽器 奇蹟出現了
如果沒有出現這個畫面,而是出現了權限的問題,提示賦於數據文件夾0770的權限,但是改了之後還是有問題,我出現過這個錯誤,因爲需要給www-data用戶以權限,輸入:
# chown -R www-data data/
OK,完成。
通過這兩天的經歷,告訴我一個道理,學習沒有捷徑可走,本來很簡單的事,因爲我想走捷徑而變得難上加難,不過經此事之後,我對Linux的興趣確實越來越深的,越來越想去DIV自己的東西。