基礎標配Linux服務器的搭建

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.
相關文章
相關標籤/搜索