学习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 &"
Running update deamon on Ubuntu server
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上去进行真正的处理。
配置文件可以由这个网站代为生成
具体各个参数的意思,可以上官网了解。
然后在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 /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引用包了。
下一个选择是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. -d nuget
复制到目标目录
sudo cp -rf nuget/tools /opt/javanuget
创建存储库目录
sudo mkdir /opt/javanuget/packages
测试一下能否正常运行
sudo /opt/jdk1..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..0_55_x64/bin/java -jar /opt/javanuget/standalone-nuget-feed.jar /opt/javanuget/packages /url:http://你的ip/nuget/feed > /tmp/javanuget.log &
重启电脑后,就会发现其服务已自动启动了。
另外,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,需要替换个模块。就这个事让我研究了一下午。
添加源地址
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.-~ubuntu12.04.1~ppa1 libapache2-svn=1.7.-~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 /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
Setup Subversion with XAMPP under Debian
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的私有项目,够用,挺好!
学习Linux系列--布署常用服务的更多相关文章
- 学习Linux系列--安装Ubuntu
最近学习Linux,使用虚拟机太不方便,于是购买了阿里云最便宜的云主机作为学习设备. 本系列文章记录了个人学习过程的点点滴滴. 学习Linux系列--安装Ubuntu 学习Linux系列--安装软件环 ...
- 轻松学习LINUX系列教程推出
本系列多媒体教程已完成的博文: 1.轻松学习Linux之入门篇 http://chenguang.blog.51cto.com/350944/449214 2.轻松学习Linux之本地安装系统 (分区 ...
- 轻松学习Linux之Shell的常用过滤器
下载高清视频: http://down.51cto.com/data/157818 大小3:MB 时长: 7分钟 更多内容见: Linux爱好者的圣诞大餐-轻松学习Linux系列多媒体 ...
- 学习Linux系列--安装软件环境
本系列文章记录了个人学习过程的点点滴滴. 回到目录 10.安装Lamp套件. 最简单的方式,如下 sudo tasksel install lamp-server Apache 菜鸟教程 Ubuntu ...
- Linux 网络配置及常用服务配置(Redhat 6)
一.网络配置 1. VMWare 提供了三种网络工作模式供用户选择,他们分别是, ①Bridged(桥接模式): 如果网络中能提供多个IP地址,则使用桥接方式 ②NAT(网络地址转换模式): 如果网络 ...
- 学习Linux系列--Python资源收集
本系列文章记录了个人学习过程的点点滴滴. 回到目录 玩Linux,不懂一门脚本语言是不行的,我这里选择的是Python. 10.入门资源 下面前三遍是比较系统的文档,后面是一些心得,我看了好几天,终于 ...
- 深入学习Motan系列(二)——服务发布
闯关经验: 袋鼠走过了第一关,顺利搭建出了Demo,信心爆棚.不过之后,心想怎么去研究这个框架呢.查了一下,官方文档,好像没什么东西可以研究啊.后来,又搜了搜博客,因为这是微博的框架嘛,所以搜索时用百 ...
- Window Server 布署 WCF 服务 , 权限配置问题
起因: 客户服务器运行环境要求提高安全性,建议数据连接串采取 加密措施 ,或改用 Window 验证 连接数据库服务 .于是我们打算选择后着,将后台服务(Window Server)数据库连接串调整为 ...
- 深入学习Motan系列(三)——服务发布
袋鼠回头看了看文章,有些啰嗦,争取语音简练,不断提高表达力!袋鼠奋起直追! 注:此篇文章,暂时为了以后时间线排序的需要,暂时发表出来,可是仍然有许多地方需要改写.自己打算把服务端发布,客户端订阅都搞定 ...
随机推荐
- 手机版本高于xcode,xcode的快速升级
iPhone手机更新版本,xcode未更新时,不能真机测试 在xcode show in finder里面添加最新iPhone 版本 重启xcode即可 真机测试
- web系统登陆页面增加验证码
传统登陆页面中包含两个输入项: • 用户名 • 密码有时为了防止机器人进行自动登陆操作,或者防止恶意用户进行用户信息扫描,需增加动态验证码功能.此时,登陆页面中包含了三个输入项: • 用户名 • 密码 ...
- 史上自定义 JavaScript 函数Top 10
http://www.dustindiaz.com/top-ten-javascript/ 发布:wpulog | 发布时间: 2010年4月9日 10个被使用的最普遍的用户自定义函数,add ...
- 一步一步来做WebQQ机器人-(五)(发送消息||完结)
× 本篇主要是: 发送QQ消息(to:好友,群),以及对小黄鸡抓包利用它的语言库 本文是WebQQ流程的最后一章 最后一章内容不多但我还是啰嗦,可能对大部分人都已知晓的流程方法我也会介绍一下 前面几个 ...
- Cocoa Touch事件处理流程--响应者链
Cocoa Touch事件处理流程--响应者链 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/9264335 转载请注明 ...
- 【vue.js权威指南】读书笔记(第二章)
[第2章:数据绑定] 何为数据绑定?答曰:数据绑定就是将数据和视图相关联,当数据发生变化的时候,可以自动的来更新视图. 数据绑定的语法主要分为以下几个部分: 文本插值:文本插值可以说是最基本的形式了. ...
- myisam、innodb存储引擎比较
MYSQL表类型(存储引擎) 1.概述 MySQL数据库其中一个特性是它的存储引擎是插件式的.用户可以根据应用需要选择存储引擎.Mysql默认支持多种存储引擎,以适用各种不同的应用需要.默认情况下,创 ...
- Union和Union All到底有什么区别
以前一直不知道Union和Union All到底有什么区别,今天来好好的研究一下,网上查到的结果是下面这个样子,可是还是不是很理解,下面将自己亲自验证: Union:对两个结果集进行并集操作,不包括重 ...
- Nexus安装及部署(含如何在Tomcat中部署)
1. Nexus价值 1)方便-节约带宽-快 2)便于统一管理 3)持续集成需要 2.Nexus下载 http://www.sonatype.org/nexus/go 3.Nexus启动 解压后进入\ ...
- echarts基础 handleIcon 设置
1.自己引入echarts库 2.找到代码中dataZoom中的handleIcon ,看见对应的是"M0,0 v9.7h5 v-9.7h-5 Z",这是由svg画出来的图形,其中 ...