基础标配Linux开发服务器的搭建

服务器
与linux服务器打了这么多年交道,总结下来,觉得一个Linux服务器最基本需要提供的服务如下:1 SSH,供远程访问,基础中的基础。2 Apache + PHP,做一些最基本的web响应,从开发角度来说,也确实有everything on web的趋势。3 mysql:一个基本的关系型数据库,应付一般的数据库需求等

 与linux服务器打了这么多年交道,总结下来,觉得一个Linux服务器最基本需要提供的服务如下:

1 SSH,供远程访问,基础中的基础。

2 Apache + PHP,做一些最基本的web响应,从开发角度来说,也确实有everything on web的趋势。

3 mysql:一个基本的关系型数据库,应付一般的数据库需求尚可。

4 phpmyadmin:一个基于web的对mysql进行管理的界面,是everything on web的一个实现。

5 svn:版本库管理,这是基本的软件开发必须的协作工具。

6 svn over http: svn在web上面可以访问之后,提供了很多的灵活性。

7 zentaopms:禅道管理系统,是国内做的比较完善的一个项目管理,bug管理,产品管理的界面。

8 VNC: 这个***有,是低priority的要求。以前文章有所描述,本文不再涉及。

看起来比较复杂,但是其实并不多。现在用ubuntu16.04为例来说明一下:

1 系统安装,标准的U盘安装即可。

2 在显示终端安装ssh与vim,之后就可以把服务器放好,远程连接,不再使用显示器了。

之所以重新安装vim,是因为内置的vim有问题,重装之后,那些键盘命令(PgUp PgDn Del等)才不会被误解析。

  1. sudo apt-get install ssh 
  2. sudo apt-get install vim 

3 然后开始安装apache2和php,我写文章的时候,php的默认安装版本为7.0,如果需要早先的版本,比如5.6,会需要一些特殊的源,这些***再说。

  1. sudo apt-get install apache2 
  2. sudo apt-get install php libapache2-mod-php 
  3. sudo service apache2 start 

这样子访问SERVER_NAME之后,就会出现如下页面。

 

此时,因为php也安装好了。就可以在网站根目录(默认/var/www/html)下面放一个phpinfo的文件,自己好查询php的相关情况:

 

此处指明了起作用的php的版本,php.ini的位置等等。

4 安装mysql,安装的过程中会让你输入数据库root用户的密码,记得把此密码与系统管理员root的密码与身份区分开来。mysql会默认监听3306端口。

  1. sudo apt-get install mysql-server 
  2. sudo service mysql start 

 

5 安装phpmyadmin,这是一个mysql的网络管理界面,一方面,如果没有这个,那么你就需要在数据库的命令行执行这个命令,查询等。有了phpmyadmin,就使用web+浏览器的UI来管理数据库,一方面没有GUI的压力,而且没有CUI的难用,我早先单一有一篇文章对比此三种情况的优缺点。

  1. sudo apt-get install phpmyadmin 

期间会让你配置phpmyadmin本身账户的密码,此密码也要和mysql的root密码区分开来。

配置完成,就可以直接用SERVER_NAME/phpmyadmin来管理数据库了。

 

6 接下来,开始部署禅道系统。禅道有很多的安装方法,其实因为我们已经架设了apache php mysql,最稳定,最透明度的安装方法为源代码安装。直接去官网下载ZenTaoPMS.11.1.stable.zip,用WinSCP传送到服务器上。

另外需要说明的是,zentaopms需要php的curl模块,因此,先安装好。

  1. sudo apt-get install php7.0-curl 

然后把zip copy到网站根目录,解压,把代码准备好。

  1. cp ZenTaoPMS.11.1.stable.zip /var/www/html/ 
  2. unzip ZenTaoPMS.11.1.stable.zip 

然后直接访问SERVER_NAME/zentaopms/w就开始安装了。执行的是其install.php文件。

 

安装完成之后,会提示你输入一个网站管理员账户。此账户是禅道系统的root账户。把用户名,密码保存好。

 

安装完成,就可以使用了。非常方便:

 

7 接下来要安装SVN与svn over http。svn的步骤如下:

  1. sudo apt-get install subversion 

安装完成,就要创建版本库了。我的习惯是在/data下面放数据,因为此目录以后可以加载单独的大容量硬盘。

创建目录

  1. mkdir /data 
  2. cd /data 
  3. mkdir SVN 
  4. cd SVN 

然后在目录下创建自己的版本库:

svnadmin create 版本库名字

因为以后还有其他的版本库,因此我推荐是吧passwd和authz文件放到SVN根目录下,方便集中管理,因此,修改版本库的文件指向(此处我的版本库名字为delta_river):

  1. vi /data/SVN/delta_river/conf/svnserve.conf 

 

此处谨记,配置文件的行必须顶格,不要有空格或者tab,必须顶格,避免问题。

然后把passwd和authz文件copy到SVN根目录,如下:

 

passwd和authz格式的说明我不细说了。这个网上是说的非常清楚的。

然后执行

  1. svnserve -d -r /data/SVN 

即可启动服务:

 

可以把启动svn的文件写一个脚本,放到/etc/init.d/下面自动启动。命令内容如下:

  1. lz@lz-HP-Compaq-8100-Elite-SFF-PC:~$ cat start_svn.sh 
  2. #!/bin/bash 
  3. svnserve -d -r /data/SVN/ 

服务启动后,可以用windows的svn client来连接试试看,也可以用如下命令来看看svn是否已经正常运行:

  1. svn list svn://10.239.46.134/delta_river 

 

8 svn配置完成,就要处理svn over http了。此处需要用libapache2-svn

  1. sudo apt-get install libapache2-svn 

其配置文件如下:

  1. 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:

  1. cd /data 
  2. sudo chown -R www-data:www-data SVN/ 

第三,dav_svn.passwd的内容是加密的,需要用htpasswd来生成

  1. cd /etc/apache2/ 
  2. sudo touch dav_svn.passwd 

sudo htpasswd dav_svn.passwd 用户名

然后输入两次密码,dav_svn.passwd就好了。

此处的密码未必和SVN根目录下的密码相同,反正自己记得就行了。协议不同,使用的密码可以不同。

然后重启apache2就可以了。

  1. sudo service apache2 restart 

此时,用svn协议,与http协议都可以用svn client访问,用浏览器也可以看到大致的文件内容。

 

比较有用的命令:

看当前服务器提供的服务:

  1. sudo netstat -antp 

重启apache服务

  1. sudo service apache2 restart 

重启mysql服务

  1. sudo service mysql restart 

后记:如果需要php5.6的模块,需要执行如下命令就可以了。主要是找到5.6的安装源:

  1. $ sudo apt-get install python-software-properties 
  2. $ sudo add-apt-repository ppa:ondrej/php 
  3. $ sudo apt-get update 
  4. $ 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.
责任编辑:武晓燕 来源: 追梦人 daodan
相关推荐

2014-08-06 11:25:00

LinuxSVN服务器

2012-09-21 09:31:48

Linux服务器Windows

2010-08-03 13:26:36

linux搭建NFS服

2009-10-23 11:19:36

linux服务器搭建

2010-09-27 11:44:14

Linux DHCP服

2021-11-25 19:26:23

服务器

2011-02-22 11:23:48

vsFTPDLinux服务器

2011-02-22 11:23:48

vsFTPDLinux服务器

2009-09-16 16:02:11

2009-09-25 10:13:15

2012-05-09 10:45:20

LinuxLVSHeartbeat

2009-11-30 11:33:50

sendmail服务器

2010-06-02 09:34:14

2011-02-25 16:34:01

LinuxProftpdFTP

2018-07-31 09:30:44

Linux服务器网络

2013-07-11 13:51:56

LinuxMac备份服务器

2011-10-21 07:55:28

2013-05-30 09:25:43

2010-01-20 10:44:01

linux DHCP服务器

2014-09-18 10:15:54

点赞
收藏

51CTO技术栈公众号