Linux开发服务器简易搭建方案

嵌入式技术

1372人已加入

描述

与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等)才不会被误解析。

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

这样子访问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

服务器

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

sudo apt-get install phpmyadmin

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

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

服务器

服务器

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

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

sudo apt-get install php7.0-curl

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

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

然后直接访问SERVER_NAME/zentaopms/w就开始安装了。执行的是其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.

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分