当前位置: 首页 > 科技观察

基本标准的Linux开发服务器搭建

时间:2023-03-14 22:19:46 科技观察

和linux服务器打交道这么多年,总结一下,我认为一个linux服务器需要提供的最基本的服务有以下几点:1SSH,用于远程访问,是远程访问的基础基础。2Apache+PHP,做一些最基本的web响应,从发展的角度来说,确实有万物上web的趋势。3mysql:基本的关系型数据库,可以满足一般的数据库需求。4phpmyadmin:基于web的mysql管理界面,是万物在web上的一种实现。5svn:Repositorymanagement,是基础软件开发必备的协作工具。6svnoverhttp:svn在web上可以访问后,提供了很大的灵活性。7zentaopms:禅道管理系统是目前国内比较完善的项目管理、bug管理、产品管理接口。8VNC:这是绝对必要的,而且是低优先级的要求。之前的文章已经介绍过了,本文不再赘述。看起来很复杂,其实也不多。现以ubuntu16.04为例进行说明:1系统安装,标准U盘安装即可。2在显示终端上安装ssh和vim,然后就可以把服务器收起来,远程连接,就不再使用显示了。重装vim的原因是因为自带的vim有问题。重新安装后,那些键盘命令(PgUpPgDnDel等)将不会被误解。sudoapt-getinstallsshsudoapt-getinstallvim3然后开始安装apache2和php。我写文章的时候php默认安装的版本是7.0。如果您需要更早的版本,例如5.6,您将需要一些特殊的源。说说这些***吧。sudoapt-getinstallapache2sudoapt-getinstallphplibapache2-mod-phpsudoserviceapache2start这样访问SERVER_NAME后,会出现如下页面。此时,因为php也安装好了。可以在网站根目录(默认/var/www/html)下放一个phpinfo文件,方便自己查看php的相关情况:能用的php版本,php.ini的位置,等在这??里指定。4安装mysql。在安装过程中,会要求你输入数据库root用户的密码。请记住将此密码与系统管理员root的密码和身份区分开来。mysql默认会监听3306端口。sudoapt-getinstallmysql-serversudoservicemysqlstart5安装phpmyadmin,这是一个mysql网管界面。一方面,如果没有这个,那么就需要在数据库的命令行中执行这个命令,查询等。使用phpmyadmin,可以使用web+browser的UI来管理数据库。一方面没有GUI的压力,用CUI没有难度。我之前有一篇文章比较过这三种情况的优缺点。sudoapt-getinstallphpmyadmin时会要求配置phpmyadmin账号本身的密码,这个密码也要和mysql的root密码区分开来。配置完成后,就可以直接使用SERVER_NAME/phpmyadmin来管理数据库了。6接下来开始部署禅道系统。禅道的安装方法有很多种。其实因为我们已经搭建好了apachephpmysql,所以最稳定透明的安装方式就是源码安装。直接去官网下载ZenTaoPMS.11.1.stable.zip,用WinSCP发送到服务器。另外需要注意的是,zentaopms需要PHP的curl模块,所以先安装。sudoapt-getinstallphp7.0-curl然后复制zip到网站根目录,解压,准备代码。cpZenTaoPMS.11.1.stable.zip/var/www/html/unzipZenTaoPMS.11.1.stable.zip然后直接访问SERVER_NAME/zentaopms/w开始安装。它的install.php文件被执行。安装完成后,会提示你输入站长账号。该账号为禅道系统的root账号。保存用户名和密码。安装完成后,就可以使用了。很方便:7接下来安装SVN,svnoverhttp。svn的步骤如下:sudoapt-getinstallsubversion安装完成,需要创建一个repository。我的习惯是把data放在/data下,因为这个目录以后可以用单独的大容量硬盘加载。创建目录mkdir/datacd/datamkdirSVNcdSVN,在目录下创建自己的版本库:svnadmincreateversionlibraryname因为以后还会有其他的版本库,所以我建议把passwd和authz文件放在SVN根目录下,方便集中管理,因此,修改版本库的文件指向(这里我的版本库名称是delta_river):vi/data/SVN/delta_river/conf/svnserve.conf这里要记住,配置文件的那一行一定要在最前面格式,没有空格或制表符必须置顶以避免出现问题。然后将passwd和authz文件复制到SVN根目录下,如下:passwd和authz格式我就不详细描述了。这个网站上说的很清楚。然后执行svnserve-d-r/data/SVN启动服务:可以写一个启动svn文件的脚本,放到/etc/init.d/下就可以自动启动了。命令内容如下:lz@lz-HP-Compaq-8100-Elite-SFF-PC:~$catstart_svn.sh#!/bin/bashsvnserve-d-r/data/SVN/服务启动后,你可以使用windowssvn客户端连接试试,或者使用如下命令查看svn是否正常运行:svnlistsvn://10.239.46.134/delta_river8svn配置完成后,就可以处理svnoverhttp了。这里需要使用libapache2-svnsudoapt-getinstalllibapache2-svn,其配置文件如下:sudovi/etc/apache2/mods-available/dav_svn.conf这里需要说明的是svn和svnoverhttp是两组使用的验证模式。他们之间没有太大的关系。上面说了svn的验证就是passwd和authz。虽然svnoverhttp也使用了类似的***,但文件位置可以无关紧要。我的dav_svn.conf如下:可以看到我把svnoverhttp的配置放在了/etc/apache2目录下。这里有几点需要注意,***,authz文件可以直接从SVN根目录复制过来,也可以创建符号链接。二、建议修改SVN目录属主为www-data:cd/datasudochown-Rwww-data:www-dataSVN/三、dav_svn.passwd内容加密,需要使用htpasswd生成cd/etc/apache2/sudotouchdav_svn.passwdsudohtpasswddav_svn.passwd用户名然后输入两次密码,dav_svn.passwd就可以了。这里的密码可能和SVN根目录下的密码不一样,反正记住就行了。不同的协议可能使用不同的密码。然后重启apache2就可以了。sudoserviceapache2restart此时用svn客户端可以访问svn协议和http协议,也可以用浏览器查看大概的文件内容。更多有用的命令:查看当前服务器提供的服务:sudonetstat-antp重启apache服务sudoserviceapache2restart重启mysql服务sudoservicemysqlrestart后记:如果需要php5.6模块,需要执行以下命令。主要是找5.6的安装源:$sudoapt-getinstallpython-software-properties$sudoadd-apt-repositoryppa:ondrej/php$sudoapt-getupdate$sudoapt-get-yinstallphp5.6php5.6-mcryptphp5.6-mbstringphp5.6-curlphp5.6-cliphp5.6-mysqlphp5.6-gdphp5.6-intlphp5.6-xslphp5.6-zip执行后,会安装php5.6的相应模块:会额外安装以下包:libapache2-mod-php5.6libzip5php5.6-commonphp5.6-jsonphp5.6-opcachephp5.6-readlinephp5.6-xml将安装以下新包:libzip5php5.6-curlphp5.6-gdphp5.6-intlphp5.6-mcryptphp5.6-xmlphp5.6-xslphp5.6-zip将升级以下包:libapache2-mod-php5.6php5.6php5.6-cliphp5.6-commonphp5.6-jsonphp5.6-mbstringphp5.6-mysqlphp5.6-opcachephp5.6-readline9升级,8新安装,0删除和409未升级。