1 SSH,供遠程訪問,基礎中的基礎。php
2 Apache + PHP,作一些最基本的web響應,從開發角度來講,也確實有everything on web的趨勢。連禪道,wordpress都是創建在apache+php上面的。html
3 mysql:一個基本的關係型數據庫,應付通常的數據庫需求尚可。python
4 phpmyadmin:一個基於web的對mysql進行管理的界面,是everything on web的一個實現。mysql
5 svn:版本庫管理,這是基本的軟件開發必須的協做工具。web
6 svn over http: svn在web上面能夠訪問以後,提供了不少的靈活性。sql
7 zentaopms:禪道管理系統,是國內作的比較完善的一個項目管理,bug管理,產品管理的界面。數據庫
8 VNC: 這個最好有,是低priority的要求。之前文章有所描述,本文再也不涉及。apache
看起來比較複雜,可是其實並很少。如今用ubuntu16.04爲例來講明一下:json
1 系統安裝,標準的U盤安裝便可。ubuntu
安裝完成後,記得更新安裝源,我通常使用阿里雲源,國內仍是比較快的。這裏提供一個備份:把源更改到/etc/apt/sources.list裏面便可,而後執行
apt-get update
進行更新。
##阿里源 deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
2 在顯示終端安裝ssh與vim,以後就能夠把服務器放好,遠程鏈接,再也不使用顯示器了。
之因此從新安裝vim,是由於內置的vim有問題,重裝以後,那些鍵盤命令(PgUp PgDn Del等)纔不會被誤解析。
sudo apt-get install ssh sudo apt-get install vim
3 而後開始安裝apache2和php,我寫文章的時候,php的默認安裝版本爲7.0,若是須要早先的版本,好比5.6,會須要一些特殊的源,這些最後再說。
sudo apt-get install apache2 sudo apt-get install php libapache2-mod-php sudo service apache2 start
這樣子訪問http://SERVER_NAME以後,就會出現以下頁面。
此時,由於php也安裝好了。就能夠在網站根目錄(默認/var/www/html)下面放一個phpinfo的文件,本身好查詢php的相關狀況:
此處指明瞭起做用的php的版本,php.ini的位置等等。
4 安裝mysql,安裝的過程當中會讓你輸入數據庫root用戶的密碼,記得把此密碼與系統管理員root的密碼與身份區分開來。mysql會默認監聽3306端口。
sudo apt-get install mysql-server sudo service mysql start
4.1 修改mysql 默認字符集從latin1改成utf8,這是一個良好的習慣。由於咱們要把server,connection,client都改成utf8,避免解碼出現亂碼。
修改以前的結果以下:
修改/etc/mysql/mysql.conf.d/mysqld.cnf 文件,在[mysqld]下面加上以下代碼:
character-set-server=utf8 collation-server=utf8_general_ci skip-character-set-client-handshake
而後重啓mysql服務,
sudo service mysql restart
再次看看字符集,已經改變以下:
5 安裝phpmyadmin,這是一個mysql的網絡管理界面,一方面,若是沒有這個,那麼你就須要在數據庫的命令行執行這個命令,查詢等。有了phpmyadmin,就使用web+瀏覽器的UI來管理數據庫,一方面沒有GUI的壓力,並且沒有CUI的難用,我早先單一有一篇文章對比此三種狀況的優缺點。
sudo apt-get install phpmyadmin
期間會讓你配置phpmyadmin自己帳戶的密碼,此密碼也要和mysql的root密碼區分開來。
配置完成,就能夠直接用http://SERVER_NAME/phpmyadmin來管理數據庫了。
6 接下來,開始部署禪道系統。禪道有不少的安裝方法,其實由於咱們已經架設了apache php mysql,最穩定,最透明度的安裝方法爲源代碼安裝。直接去官網下載ZenTaoPMS.11.1.stable.zip,用WinSCP傳送到服務器上。
另外須要說明的是,zentaopms須要php的curl模塊,所以,先安裝好。
sudo apt-get install curl php7.0-curl
而後把zip copy到網站根目錄,解壓,把代碼準備好。
cp ZenTaoPMS.11.1.stable.zip /var/www/html/ unzip ZenTaoPMS.11.1.stable.zip
而後直接訪問http://SERVER_NAME/zentaopms/www/就開始安裝了。執行的是其install.php文件。
安裝完成以後,會提示你輸入一個網站管理員帳戶。此帳戶是禪道系統的root帳戶。把用戶名,密碼保存好。
安裝完成,就可使用了。很是方便:
7 接下來要安裝SVN與svn over http。svn的步驟以下:
sudo apt-get install subversion
安裝完成,就要建立版本庫了。個人習慣是在/data下面放數據,由於此目錄之後能夠加載單獨的大容量硬盤。
建立目錄
mkdir /data cd /data mkdir SVN cd SVN
而後在目錄下建立本身的版本庫:
svnadmin create 版本庫名字
由於之後還有其餘的版本庫,所以我推薦是吧passwd和authz文件放到SVN根目錄下,方便集中管理,所以,修改版本庫的文件指向(此處個人版本庫名字爲delta_river):
vi /data/SVN/delta_river/conf/svnserve.conf
此處謹記,配置文件的行必須頂格,不要有空格或者tab,必須頂格,避免問題。
而後把passwd和authz文件copy到SVN根目錄,以下:
passwd和authz格式的說明我不細說了。這個網上是說的很是清楚的。
而後執行
svnserve -d -r /data/SVN
便可啓動服務:
能夠把啓動svn的文件寫一個腳本,放到/etc/init.d/下面自動啓動。命令內容以下:
lz@lz-HP-Compaq-8100-Elite-SFF-PC:~$ cat start_svn.sh #!/bin/bash svnserve -d -r /data/SVN/
服務啓動後,能夠用windows的svn client來鏈接試試看,也能夠用以下命令來看看svn是否已經正常運行:
svn list svn://10.239.46.134/delta_river
8 svn配置完成,就要處理svn over http了。此處須要用libapache2-svn
sudo apt-get install libapache2-svn
其配置文件以下:
sudo vi /etc/apache2/mods-available/dav_svn.conf
此處須要說明的是,svn與svn over http是用的兩套驗證模式,二者之間關係並不大。svn的驗證如上所述,是passwd與authz,雖然svn over http也是使用的類似的機制,可是文件位置能夠毫無關係。
個人dav_svn.conf以下:
可見我把svn over http的配置放在了/etc/apache2目錄下面。
此地有幾處須要注意,第一,authz文件能夠直接從SVN根目錄copy過來,或者建一個符號連接。
第二,SVN的目錄建議把owner修改成www-data:
cd /data sudo chown -R www-data:www-data SVN/
第三,dav_svn.passwd的內容是加密的,須要用htpasswd來生成
cd /etc/apache2/ sudo touch dav_svn.passwd sudo htpasswd dav_svn.passwd 用戶名
而後輸入兩次密碼,dav_svn.passwd就行了。
此處的密碼未必和SVN根目錄下的密碼相同,反正本身記得就好了。協議不一樣,使用的密碼能夠不一樣。
而後重啓apache2就能夠了。
sudo service apache2 restart
此時,用svn協議,與http協議均可以用svn client訪問,用瀏覽器也能夠看到大體的文件內容。
比較有用的命令:
看當前服務器提供的服務:
sudo netstat -antp
重啓apache服務
sudo service apache2 restart
重啓mysql服務
sudo service mysql restart
後記:若是須要php5.6的模塊,須要執行以下命令就能夠了。主要是找到5.6的安裝源:
$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:ondrej/php $ sudo apt-get update $ sudo apt-get -y install php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip
執行後,就會安裝php5.6相應的模塊:
The following additional packages will be installed: libapache2-mod-php5.6 libzip5 php5.6-common php5.6-json php5.6-opcache php5.6-readline php5.6-xml The following NEW packages will be installed: libzip5 php5.6-curl php5.6-gd php5.6-intl php5.6-mcrypt php5.6-xml php5.6-xsl php5.6-zip The following packages will be upgraded: libapache2-mod-php5.6 php5.6 php5.6-cli php5.6-common php5.6-json php5.6-mbstring php5.6-mysql php5.6-opcache php5.6-readline 9 upgraded, 8 newly installed, 0 to remove and 409 not upgraded.