ubuntu小型web服务器:apache2+svn+php+tomcat+mysql+备份恢复

来源:互联网 发布:淘宝onlyanna整容前后 编辑:程序博客网 时间:2024/06/18 07:55

搭了好几次了,每次都是东拼西凑找教程,走了不少弯路。
实践出真知,自己也要总结一下:
系统版本:Ubuntu 14.04.2 LTS

一、更新

username@hostname:~$ sudo apt-get update  username@hostname:~$ sudo apt-get upgrade  

二、安装jdk

username@hostname:~$ sudo apt-get install default-jdk  

验证:

username@hostname:~$ java -version  

三、安装mysql

username@hostname:~$ sudo apt-get install mysql-server mysql-client  

验证:

username@hostname:~$ netstat -tap | grep mysql  username@hostname:~$ mysql -u root -p  

四、安装apache2

username@hostname:~$ sudo apt-get install apache2  

验证:

username@hostname:~$ netstat -ant | grep 80  浏览器:http://ip/  

五、安装subversion

username@hostname:~$ sudo apt-get install subversion  username@hostname:~$ mkdir tools  username@hostname:~$ svnadmin create /home/username/tools/svn  username@hostname:~$ vim /home/username/tools/svn/conf/svnserve.conf  username@hostname:~$ vim /home/username/tools/svn/conf/passwd  username@hostname:~$ vim /home/username/tools/svn/conf/authz  username@hostname:~$ svnserve -d -r /home/username/tools/svn  

其中:
svnserve.conf

[general]  anon-access = none  auth-access = write  password-db = passwd  authz-db = authz  [sasl]  

passwd

[users]  username = password

authz

[aliases]  [groups]  group1 = username  [/]  @group1 = rw  * =  

验证:

username@hostname:~$ mkdir test  username@hostname:~$ cd test/  username@hostname:~/test$ svn co svn://localhost/  

六:使用apache2访问svn

username@hostname:~$ sudo apt-get install libapache2-svn apache2-utils  username@hostname:~$ sudo vim /etc/apache2/mods-enabled/dav_svn.conf  username@hostname:~$ sudo htpasswd -cm /home/username/tools/svn/conf/dav_svn.passwd username  username@hostname:~$ sudo chown -R www-data:www-data tools/svn/  username@hostname:~$ sudo service apache2 restart  

其中:
dav_svn.conf

<Location /svn>          DAV svn          SVNPath /home/username/tools/svn          AuthType Basic          AuthName "Subversion Repository"          AuthUserFile /home/username/tools/svn/conf/dav_svn.passwd          AuthzSVNAccessFile /home/username/tools/svn/conf/authz          Require valid-user  </Location>  

验证:

浏览器:http://ip/svn/  

七:安装php、phpmyadmin

username@hostname:~$ sudo apt-get install php5  username@hostname:~$ sudo apt-get install libapache2-mod-php5  username@hostname:~$ sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl  username@hostname:~$ sudo apt-get install phpmyadmin  

八:安装tomcat

username@hostname:~$ cd tools/  username@hostname:~/tools$ wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.63/bin/apache-tomcat-7.0.63.tar.gz  username@hostname:~/tools$ tar zxvf apache-tomcat-7.0.63.tar.gz  username@hostname:~/tools$ mv apache-tomcat-7.0.63 tomcat7  username@hostname:~/tools$ tomcat7/bin/startup.sh  

验证:

username@hostname:~/tools$ netstat -ant  浏览器:http://ip:8080/  

*注意,***tomcat启动以后,可能并不能立即访问,如果一直连接超时,不要慌,建议5分钟以后再尝试

配置tomcat管理员账户

username@hostname:~/tools$ vim tomcat7/conf/tomcat-users.xml  

其中:
tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>  <tomcat-users>      <role rolename="admin-gui"/>      <role rolename="manager-gui"/>      <user username="username" password="password" roles="admin-gui,manager-gui"/>  </tomcat-users>  

验证:

浏览器:http://ip:8080/manager/html         http://ip:8080/host-manager/html  

配置tomcat7服务

username@hostname:~/tools$ vim tomcat7/bin/catalina.sh  username@hostname:~/tools$ sudo cp tomcat7/bin/catalina.sh /etc/init.d/tomcat7  username@hostname:~/tools$ sudo update-rc.d tomcat7 defaults  

其中:
catalina.sh添加如下内容

# -----------------------------------------------------------------------------  CATALINA_HOME=/home/username/tools/tomcat7  # OS specific support.  $var _must_ be set to either true or false.  

验证:

username@hostname:~$ sudo service tomcat7 stop  username@hostname:~$ sudo service tomcat7 start  

九、使用apache2代理tomcat

username@hostname:~$ sudo apt-get install libapache2-mod-jk  username@hostname:~$ sudo vim /etc/libapache2-mod-jk/workers.properties  username@hostname:~$ sudo vim /etc/apache2/sites-available/000-default.conf  username@hostname:~$ sudo service apache2 restart  

其中:
workers.properties

workers.tomcat_home=/home/username/tools/tomcat7  workers.java_home=/usr/lib/jvm/default-java  ps=/  worker.list=ajp13_worker,jk-status,jk-manager  worker.ajp13_worker.port=8009  worker.ajp13_worker.host=localhost  worker.ajp13_worker.type=ajp13  worker.ajp13_worker.lbfactor=1  worker.loadbalancer.type=lb  worker.loadbalancer.balance_workers=ajp13_worker  

000-default.conf

<VirtualHost *:80>ServerAdmin webmaster@localhost      DocumentRoot /var/www/html      ErrorLog ${APACHE_LOG_DIR}/error.log      CustomLog ${APACHE_LOG_DIR}/access.log combined      JkMount /* ajp13_worker      JkUnMount /*.php ajp13_worker      JkUnMount /phpmyadmin* ajp13_worker      JkUnMount /*.js ajp13_worker      JkUnMount /*.css ajp13_worker      JkUnMount /*.htm ajp13_worker      JkUnMount /*.html ajp13_worker      JkUnMount /*.png ajp13_worker      JkUnMount /*.gif ajp13_worker      JkUnMount /*.jpg ajp13_worker      JkUnMount /*.jpeg ajp13_worker  </VirtualHost>  

验证:

浏览器:http://ip/index.jsp  

统一apache2和tomcat根目录

username@hostname:~$ cp -R tools/tomcat7/webapps/ROOT webroot  username@hostname:~$ mv tools/tomcat7/webapps/ROOT tools/tomcat7/webapps/ROOT.bak  username@hostname:~$ ln -s /home/username/webroot tools/tomcat7/webapps/ROOT  username@hostname:~$ sudo mv /var/www/html /var/www/html.bak  username@hostname:~$ sudo ln -s /home/username/webroot /var/www/html  

添加index.jsp到apache2默认首页

username@hostname:~$ sudo vim /etc/apache2/mods-enabled/dir.conf  username@hostname:~$ sudo service apache2 restart  

其中:
dir.conf

<IfModule mod_dir.c>          DirectoryIndex index.html index.jsp index.cgi index.pl index.php index.xhtml index.htm  </IfModule>  

验证:

浏览器:http://ip/  

关闭tomcat的8080端口

username@hostname:~$ vim tools/tomcat7/conf/server.xml  username@hostname:~$ sudo service tomcat7 stop  username@hostname:~$ sudo service tomcat7 start  

其中:
注释server.xml中如下部分

    <!--      <Connector executor="tomcatThreadPool"                 port="8080" protocol="HTTP/1.1"                 connectionTimeout="20000"                 redirectPort="8443" />      -->  

十、备份与恢复

username@hostname:~$ mkdir backup  username@hostname:~$ cd backup/  username@hostname:~/backup$ vim backup.sh  username@hostname:~/backup$ vim recover.sh  username@hostname:~/backup$ chmod +x backup.sh recover.sh  # 备份  username@hostname:~/backup$ sudo ./backup.sh  # 恢复  username@hostname:~/backup$ sudo ./recover.sh  

其中:
backup.sh

#!/bin/bash  if [ $UID -ne 0 ]; then      echo "Superuser privileges are required to run this script."      echo "e.g. \"sudo $0\""      exit 1  fi  path="file"  if [ -d $path ]; then      rm -rf $path  fi  mkdir $path  cd /  tar cvpzf backup.tgz --exclude=/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys /  cd -  mv /backup.tgz $path/  echo "backuping succeed"  exit 0  

recover.sh

#!/bin/bash  if [ $UID -ne 0 ]; then      echo "Superuser privileges are required to run this script."      echo "e.g. \"sudo $0\""      exit 1  fi  file="file/backup.tgz"  if [ ! -f "$file" ]; then      echo "cannot find $file"      exit 1  fi  cp $file /  cd /  tar xvpfz backup.tgz -C /  rm backup.tgz  if [ ! -d "/proc" ]; then      mkdir proc  fi  if [ ! -d "/lost+found" ]; then      mkdir proc  fi  if [ ! -d "/mnt" ]; then      mkdir proc  fi  if [ ! -d "/sys" ]; then      mkdir proc  fi  reboot  exit 0  
0 0
原创粉丝点击