• 学习Linux系列--布署常用服务


          本系列文章记录了个人学习过程的点点滴滴。

          回到目录

          10.mediawiki

          知名开源维基框架,我用来构建自己的知识库。

          在mediawiki中新建一个http.conf文件

    sudo vim /opt/mediawiki/httpd.conf

          输入如下内容

    Alias /mediawiki "/opt/mediawiki"
    
    <Directory "/opt/mediawiki">
        AllowOverride All
        Require all granted
    </Directory>

          打开Lampp的httpd.conf

    sudo vim /opt/lampp/etc/httpd.conf

          加入如下配置

    Include /opt/mediawiki/httpd.conf

          最后重启Lampp

    sudo /opt/lampp/lampp restart

          15.dokuwiki

          适用个人和中小公司使用的维基框架,有完整的插件体系与社区支持,软件本身也不段更新,个人已切换使用这个

          在dokuwiki中新建一个http.conf文件

    sudo vim /opt/dokuwiki/httpd.conf

          输入如下内容

    Alias /dokuwiki"/opt/dokuwiki"
    
    <Directory "/opt/dokuwiki">
        AllowOverride All
        Require all granted
    </Directory>

          打开Lampp的httpd.conf

    sudo vim /opt/lampp/etc/httpd.conf

          加入如下配置

    Include /opt/dokuwiki/httpd.conf

          重启Lampp

    sudo /opt/lampp/lampp restart

          最后更改权限

    sudo chmod -R 777 /opt/dokuwiki

          20.tiny-rss

          知名开源Rss阅读器框架。

          下载,解压

    cd /tmp
    wget https://github.com/gothfox/Tiny-Tiny-RSS/archive/1.12.tar.gz
    tar xzvf 1.12.tar.gz
    sudo mv Tiny-Tiny-RSS-1.12/ /opt/tt-rss

          新建一个配置文件

    sudo vim /opt/tt-rss/httpd.conf

          输入如下内容

    Alias /tt-rss "/opt/tt-rss"
    
    <Directory "/opt/tt-rss">
        AllowOverride All
        Require all granted
    </Directory>

           打开Lampp的httpd.conf

    sudo vim /opt/lampp/etc/httpd.conf

          加入如下配置

    Include /opt/tt-rss/httpd.conf

          重启Lampp

    sudo /opt/lampp/lampp restart

          登录tt-rss,完成安装向导。由于使用的是Lampp,其自动生成的配置文件里所记录的Php执行路径是错误的。

    sudo vim /opt/tt-rss/config.php

          将PHP_EXECUTABLE变量由/usr/bin/php改为/opt/lampp/bin/php,如下所示

    define('PHP_EXECUTABLE', '/opt/lampp/bin/php');

          为了让它能够开机后自动获取更新,执行如下命令打开配置文件

    sudo vim /etc/rc.local

          在文件里添加以下内容并保存,注意是以mysql身份来运行这条命令,否则命令会报错;且延迟10秒执行,否则由于数据库还未准备好,也会报错。日志保存在/tmp/tt-rss-update.log文件中,且在后台执行。

    su mysql -c "sleep 10 && /opt/lampp/bin/php /opt/tt-rss/update.php --daemon --log /tmp/tt-rss-update.log &"

          Tiny Tiny RSS

          Running update deamon on Ubuntu server

          Linux 技巧:让进程在后台可靠运行的几种方法

          30.Rss生成器

          这是我使用Asp.Net Mvc仿造Feed43为自己写的软件,用来从网页上抓取内容并生成Rss源。

          在Linux上挂载Asp.Net网站目前有多个方案,比如使用Jexus。我选择的是Apache + Xsp。一来就几个人用,负载不大,二来能将地址与其它软件地址一起挂在80端口的二级地址下,便于管理。

          使用Ftp或其它工具上传网站。在之前的Mono布署中,其实已经把Xsp环境搭好了,现在只需进行配置了。

          在网站根目录下新建并打开一个httpd.conf文件

    sudo vim /opt/rsspublic/httpd.conf

          输入以下内容。

    Alias /rsspublic "/opt/rsspublic"
    
    MonoServerPath rsspublic "/usr/bin/mod-mono-server4"
    MonoDebug rsspublic true
    MonoApplications rsspublic "/rsspublic:/opt/rsspublic"
    
    <Directory "/opt/rsspublic">
      require all granted
      MonoSetServerAlias rsspublic
      SetHandler mono
      SetOutputFilter DEFLATE
      SetEnvIfNoCase Request_URI ".(?:gif|jpe?g|png)$" no-gzip dont-vary
    </Directory>
    <IfModule mod_deflate.c>
      AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
    </IfModule>

          这里配置文件的意思是建立一个rsspublic虚拟目录,将所有对/rsspublic地址的访问全部转发到mod-mono-server4上去进行真正的处理。

          配置文件可以由这个网站代为生成

          具体各个参数的意思,可以上官网了解。

          Mod mono

          然后在Apache的配置里引用这段配置就好了。

    sudo vim /opt/lampp/etc/httpd.conf

          输入以上内容

    Include /opt/rsspublic/httpd.conf

          最后重启Apache即可

    sudo /opt/lampp/lampp restart

          最后要提醒的是,Mono只实现了.Net最核心的一部份,.Net的底层实现与Mono的底层实现并不是完全一致的,哪些只包含托管代码哪些还包含平台原生代码也是需要了解的。在.Net下能正常运行的网站在Mono下不一定跑的起来,这一方面的知识只能靠平时积累,上网查阅,阅读源码来了解了。

          Ubuntu安装Mono2.10并使用Apache承载Asp.Net mvc3应用程序

          40.Nuget Server

          第一个选择是Php Nuget,这也是我目前使用的方案。

          下载

    cd /tmp
    wget http://www.kendar.org/?p=/dotnet/phpnuget/phpnuget.2.1.0.0.zip

          解压

    sudo unzip index.html?p=%2Fdotnet%2Fphpnuget%2Fphpnuget.2.1.0.0.zip -d /opt/phpnuget

          更改权限

    sudo chown -R www-data /opt/phpnugetsudo chmod -R 777 /opt/phpnuget

          创建配置文件

    sudo vim /opt/phpnuget/httpd.conf

          输入以下内容

    Alias /nuget "/opt/phpnuget"
    
    <Directory "/opt/phpnuget">
        AllowOverride All
        Require all granted
    </Directory>

          打开Lampp的httpd.conf

    sudo vim /opt/lampp/etc/httpd.conf

          加入如下配置

    Include /opt/phpnuget/httpd.conf

          打开根目录下的.htaccess文件

    sudo vim /opt/phpnuget/.htaccess

          将所有的web/phpnuget改为nuget

          打开nuget目录下的.htaccess文件

    sudo vim /opt/phpnuget/.htaccess

          将所有的web/phpnuget改为nuget

          打开根目录下的settings.php,将上传文件大小限制改大10倍

    define('__MAXUPLOAD_BYTES__',100*1024*1024);

          重启Lampp

    sudo /opt/lampp/lampp restart

          访问/nuget/setup.php,输入管理员相关信息,提交。注意,之后登录所用的用户名是admin而不是这里输入的name。

          现在,就可以使用刚才注册的用户来管理nuget引用包了。

          Php Nuget Server

          下一个选择是NuGet.Java.Server

          下载

    cd /tmp
    axel http://packages.nuget.org/api/v1/package/NuGet.Java.Server/0.7.13.5

          解压

    unzip 0.7.13.5.0 -d nuget

          复制到目标目录

    sudo cp -rf nuget/tools /opt/javanuget

          创建存储库目录

    sudo mkdir /opt/javanuget/packages

          测试一下能否正常运行

    sudo /opt/jdk1.7.0_55_x64/bin/java -jar /opt/javanuget/standalone-nuget-feed.jar /opt/javanuget/packages /url:http://你的ip/nuget/feed
    NuGet Java Feed Server

          没有问题后,把上面这句话加入到开机启动项中

          执行如下命令打开配置文件

    sudo vim /etc/rc.local

          在文件里输入以下内容并保存。注意日志保存在/tmp/javanuget.log中,在后台执行

    /opt/jdk1.7.0_55_x64/bin/java -jar /opt/javanuget/standalone-nuget-feed.jar /opt/javanuget/packages /url:http://你的ip/nuget/feed > /tmp/javanuget.log &

          重启电脑后,就会发现其服务已自动启动了。

          NuGet Server in pure Java

          另外,jnuget也是一个不错的选择,不过其需要在Jdk1.7,tomcat7以上执行。

          myget是一个对个人提供免费服务的在线Nuget服务

          Setting up a private NuGet server

          50.Svn

          12.04官方源里带的是1.6版本的Svn,显然太老了。下面通过PPA来安装1.7版本的。

          多说一句,安装与系统默认版本不一致的软件真的很累,Svn1.7默认只能与Apache 2.2一起工作,但我安装的是Apache 2.4,需要替换个模块。就这个事让我研究了一下午。

          上launchpad搜索svn,找到合适的版本还有这个

          添加源地址

    sudo add-apt-repository ppa:dirk-computer42/c42-backport
    sudo add-apt-repository ppa:ondrej/apache2

          更新源

    sudo apt-get update

          安装Svn,注意指定版本号,否则默认会装上后一个ppa中的1.8版本

    sudo apt-get install subversion=1.7.13-3~ubuntu12.04.1~ppa1 libapache2-svn=1.7.13-3~ubuntu12.04.1~ppa1

          How to install specific Ubuntu packages, with exact version? [closed]

          为了便于管理,创建一个用户组并把www-data用户加进去

    sudo addgroup subversion
    sudo gpasswd -a www-data subversion

          创建svn根目录

    sudo mkdir /opt/svndata

          创建仓库studio

    sudo svnadmin create /opt/svndata/studio

          更改权限

    sudo chown -R www-data:subversion /opt/svndata/studio
    sudo chmod -R 777 /opt/svndata/studio

          下面来配置用户。一般放置在/项目/conf/passwd。

    sudo /opt/lampp/bin/htpasswd -c /opt/svndata/studio/conf/passwd ljz

          -c表示创建一个用户名单。只需在第一个人使用。此命令会提示输入密码,完成后即可用此用户访问svn。

          要想让svn通过apache的http访问,还需进行以下操作。

          在apache中加入svn模块

    sudo cp /usr/lib/apache2/modules/mod_authz_svn.so /opt/lampp/modules/
    sudo cp /usr/lib/apache2/modules/mod_dav_svn.so /opt/lampp/modules/

          打开http.conf文件

    sudo vim /opt/lampp/etc/httpd.conf

          在模块列表后面加入上面复制的两个模块

    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so

          在/opt/svndata/studio中新建一个配置文件

    sudo vim /opt/svndata/studio/httpd.conf

          输入如下内容并保存

    <Location /svn/studio>
      DAV svn
      SVNPath /opt/svndata/studio
      AuthType Basic
      AuthName "studio subversion repository"
      AuthUserFile /opt/svndata/studio/conf/passwd
      Require valid-user
    </Location>

          打开http.conf文件

    sudo vim /opt/lampp/etc/httpd.conf

          引用上面的配置文件

    Include /opt/svndata/studio/httpd.conf

          最后重启服务

    sudo /opt/lampp/lampp restart

          SubVersion

          Setup Subversion with XAMPP under Debian

          在XAMPP上安装SVN的一个注意事项

          Subversion 1.7(这是12.04下书写本文时最新版本的1.7,但是它只能与Apache2.2一起工作)

          Experimental(1.7版,能与2.4一起工作,但是却是为13.10版服务的)

          compiling libapache2-svn for apache 2.4.4(文中所列的虽能与Apache2.4一起工作,但是却是Svn1.8版本的)

          debian, apache2.4 and libapache2-svn(自己来编译,呵呵!)

          此外,RiouxSVN也是一个不错的在线源代码托管的选择,免费可以建4个最大50M的私有项目,够用,挺好!

          SVN 在线代码托管工具

          digitalocean注册及使用简单教程

  • 相关阅读:
    设计模式之设计原则
    浅谈简单工厂模式和策略模式
    Flask-SQLAlchemy插件
    SQLAlchemy的ORM
    Flask 微博三方登录
    SQLAlchemy介绍和基本使用
    Flask常用的钩子函数
    Flask-Restful详解
    flask信号使用
    多线程爬取斗图图片
  • 原文地址:https://www.cnblogs.com/ljzforever/p/3692036.html
Copyright © 2020-2023  润新知