Browsed by
Tag: ubuntu

在Ubuntu系统中安装blog: wordpress

在Ubuntu系统中安装blog: wordpress

接上一篇blog,继续我们的装机历程。这次开始安装wordpress,提供blog服务。

主要参考文章是来自ubuntu的官方网站。基本沿用这篇文章的描述,在后面一小段有点不一样,会另外说明。

https://help.ubuntu.com/community/WordPress

由于wordpress会使用mysql存储数据,因此安装之前,请先确认MySQL server已经安装好了,或者已经可用了。

step 1: 安装wordpress, php5-gd

我不太清楚为什么要安装php5-gd,总之,照做就好了:

sudo apt-get install wordpress php5-gd

缺省会安装在/usr/share/wordpress目录下。

step 2:建立连接文件

建立连接文件, 以便apache找到wordpress的安装目录

sudo ln -s /usr/share/wordpress /var/www/wordpress

step 3: 创建mysql数据

用脚本安装wordpress的数据表(使用本地的MySQL数据库)。

sudo bash /usr/share/doc/wordpress/examples/setup-mysql -n wordpress localhost

其中,wordpress是在mysql中创建的database名。

如果MySQL数据库在另外一台服务器上,例如wordpress.mydomain.org,则命令应修改为:

sudo bash /usr/share/doc/wordpress/examples/setup-mysql -n wordpress wordpress.mydomain.org

step 4: 安装blog

完成后,直接通过http://localhost/wordpress就可以安装blog了。 需要注意的是: 一般我们都是通过SSH访问远程的Ubuntu server,因此不能在ie/firefox中以localhost访问, 而需要使用域名或者IP地址,例如http://192.168.1.30/wordpress,此时,浏览器中会提示“找不到config-192.168.1.30.php”文件。为此,我们需要做一下修改:

sudo cp /etc/wordpress/config-localhost.php /etc/wordpress/config-192.168.1.30.php
sudo chown www-data:www-data config-192.168.1.30.php

然后,再次浏览http://192.168.1.30/wordpress即可正式开始安装了。

后续过程根据浏览器中的各项提示,一步一步安装即可。http://192.168.1.30/wordpress就是最终完成的blog地址。

在Ubuntu系统中安装ftp服务器软件: pure-ftpd

在Ubuntu系统中安装ftp服务器软件: pure-ftpd

最近由于工作的需要,我们需要在EC2上完整搭建一套平台,因此研究了一下FTP,wordpress等常用软件的安装和使用方式。

不知道为什么,网上的资料多半是从各网站上下载tar包,甚至下载源码包编译并安装。我觉得这种方式完全没有必要,我们毕竟不是要研究这些软件本身,只要会使用就可以了。另外,Ubuntu软件中心的软件已经非常丰富,直接从软件中心安装就好,同样没有必要费事另外去下载。

以下各种情况下的安装,都是基于Ubuntu Server 10.04 (LTS)版本。首先从安装FTP Server开始。

我选择了pure-ftpd进行安装。选择这个软件的理由很简单,虚拟主机bluehost就是用的这个软件,而我们目前对bluehost还是相当满意的,因此照搬就好了。

step 1: 安装

命令非常简单:

sudo apt-get install pure-ftpd

step 2: … …

实际上没有step 2。完成安装后,就可以用Ubuntu系统的用户名和密码登陆了。

Ubuntu Server中的pure-ftpd缺省配置不允许匿名登陆,每个用户登陆都是访问自己的home目录,最多允许50名用户同时连接。基本上已经满足需要,不需要再多做配置。

如果实在想进行配置,可以访问/etc/pure-ftpd/conf目录。看上去似乎每个文件就是一个单独的配置项,要注意区分大小写,否则启动server时会认为配置出错。

重起pure-ftpd的命令如下:

sudo service pure-ftpd restart

 

Ubuntu/Debian系统包管理常用命令

Ubuntu/Debian系统包管理常用命令

sudo apt-get update 同步软件源中的软件索引文件,并更新本地的cache

sudo apt-get upgrade 根据软件源的要求,安装(升级)最新的软件包。注意,所谓“最新”是指当前系统版本所能支持的最新软件包,而不是最新系统版本所能支持的软件包。

sudo apt-get autoremove 自动删除某些不再需要的软件包。

sudo apt-get install 安装具体某个软件,例如sudo apt-get install qtcreator就是安装qtcreator软件。

sudo apt-get remove 卸载某个软件包

下面是两个常用的软件包查询命令:

sudo apt-cache search 搜索某个软件。最好和grep配合起来用,很方便。例如sudo apt-cache search python | grep mysql 就是所有python软件包中,与mysql相关的包。

sudo apt-cache show 显示某个软件包的具体信息,包括依赖关系等。

EC2上的server终于可用了

EC2上的server终于可用了

严格来说,Amazon在弗吉尼亚北部数据中心仍然没有完全恢复正常,状态显示仍然是业务中断状态。

很幸运的是,我们的volume终于可以创建snapshot了。创建snapshot后,立刻在其他区创建一个新的volume,然后创建一个新的instance,将新的volume attach上去即可恢复运行。

从这可以看出:

(1)弗吉尼亚北部数据中心分成四个区A,B,C,D。其中,A,B区目前故障比较严重,而C、D两个区可能已经恢复正常。我们新创建的volume就设置在D区,目前工作很正常。

(2)传说中的多数据中心之间备份的功能没有实现。实际上,从目前的结果看,数据中心内部区间的备份甚至都没有实现或者出现了故障。

(3)云系统中的各个单独系统,采用snapshot方式调整部署恢复运行,功能确实也很强劲,恢复速度很快。

本次故障实在是大大出乎意料。“出故障”本身无可非议,任何设备都可能有故障,但是备份机制出现问题让人很困惑。理论上来说,既然作为云系统,A/B区出现问题,应当能立刻将数据转移到C/D区;如果弗吉尼亚数据中心出了问题,应该能立刻转移到其他数据中心,例如加利福尼亚/爱尔兰等。这次故障是否说明Amazon的云系统实际上根本无法做到数据平移?甚至无法做到同一数据中心内部平移?或者本次故障严重到备份系统(或者备份链路)都宕机了,以至于无法平移数据,造成问题越来越严重,故障部分承担的压力越来越大,最后导致雪崩?

在EC2上搭建Ubuntu系统应注意的事项

在EC2上搭建Ubuntu系统应注意的事项

EC2上的故障一直没有排除,因此我们转向Amazon在加利福尼亚的数据中心建立新的server。这个过程中,忘记了以前的一些配置,出了一些问题。主要是需要注意以下几个方面:

(1)Ubuntu在Amazon的官方ID是“099720109477”, 搜索AMI时,应搜索此ID创建的基于EBS的AMI。其他Ubuntu的AMI是社区其他人员所创建或者定制,非正式官方版本,稳定性或者安全方面没有保证。

(2)Ubuntu官方在EC2中创建了很多的AMI,包括大量的测试版本,建议以“099720109477/ebs/ubuntu-images/”进行搜索,这样搜索出来的是正式版本的Ubuntu,而不是测试版本或者里程碑版本的Ubuntu。

(3)如果是Free tier eligible用户,在搜索AMI时,应当选择“Free tier eligible”,这样所有搜出来的AMI大小不会超过10G的限制。如果AMI大小超过10G,即使成功了,后续过程中也无法SSH登录。

Amazon EC2/Ubuntu系统下搭建VPN环境

Amazon EC2/Ubuntu系统下搭建VPN环境

以下是基于Amazon EC2/Ubuntu搭建PPTPD服务提供VPN连接的过程记录。至于为什么要搞VPN,大家都懂的。。。而我主要是要访问Python的一些网站以及使用我非常喜欢的Google docs。

PPTP采用TCP 1723端口,因此在Amazon EC2的防火墙配置中,必须打开这个端口,否则client端无法接入。(网上有文章说也需要打开47端口(GRE端口),我在Amazon EC2上试验的结论是不需要特别设置。)

step1: 安装pptpd

很简单的命令:sudo apt-get install pptpd

step2: 修改pptpd的配置

有三个文件需要修改:

(1)修改/etc/pptpd.conf,添加以下内容(原文件中可能已经有这些内容,确认即可)

localip 192.168.0.1

remoteip 192.168.0.100-110

localip是指VPN建立后,client可以用这个地址访问VPN server。

remoteip就是指分配给client的地址。

(2)修改/etc/ppp/pptpd-options文件,增加以下内容:

ms-dns 8.8.8.8

ms-dns 8.8.4.4

这个配置是使用Google的DNS解析。至于原因,你也懂的。。。

(3)修改/etc/ppp/chap-secrets文件,设置客户机登录的帐号和密码:

# client server secret IP addresses

yxh * 1234 *

“client”是用户名,“server”是服务器地址,”secret”是登录密码,”IP addresses”是分配的地址,如果指定*,则由系统自动分配。

step3: 重起PPTPD服务:sudo service pptpd restart

step4:配置IP转发

修改/etc/sysctl.conf文件,打开以下的注释:

net.ipv4.ip_forward=1

step5: 重新加载IP转发配置

sudo sysctl -p

step6: 修改Iptables,设置网络地址翻译

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

上述设置在重起后悔丢失,因此需要修改 /etc/rc.local文件, 在exit 0之前添加以下语句:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

step7: 配置DDNS

Amazon EC2每次重起都会变换地址,因此我们需要配置DDNS来获取动态域名解析。在这一步之前,需要在DynDNS上申请一个免费的域名。国内类似的服务商是“花生壳”,我没有进行过测试,不知道“花生壳”是否也适合以下配置。

申请到DynDNS帐号后,下载并安装ddclient:

sudo apt-get install ddclient

安装过程中, 会有简单的界面进行配置, 设置dyndns的相关帐户即可。设置完成后, 配置信息会自动写入/etc/ddclient.conf文件。

完成上述步骤后,就可以在windows客户端拨号建立VPN连接了。

以上资料主要参考一篇国外有人的blog:http://www.dikant.de/2010/10/08/setting-up-a-vpn-server-on-amazon-ec2/

最后说一下Amazon EC2。国内有几篇很不错的翻译可以参考,不过最好的资料还是Amazon本身提供的GettingStarted文档,虽然是英文的,不过非常简单明了:http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide

远程重起Ubuntu

远程重起Ubuntu

通过SSH2在远程登陆Ubuntu,可以使用下面的命令关闭或者重起Ubuntu:

sudo shutdown -h now 现在关机

sudo shutdown -r now 现在重起

另外,需要在路由器上放开22端口,才能通过远程访问Ubuntu。

在Ubuntu中搭建Apache2+Subversion环境

在Ubuntu中搭建Apache2+Subversion环境

以下各项操作基于Ubuntu10.10 desktop版本,其他版本估计也是类似,差别不大。

1、安装软件
安装apache2: sudo apt-get install apache2
(Ubuntu安装完上述软件后,会自动启动web服务,我们可以通过浏览器访问http://localhost。如果一切正常的话,应该能看到一个非常简陋的html页面)
安装subversion: sudo apt-get install subversion
安装apache的svn模块: sudo apt-get install libapache2-svn

2、创建subversion库

创建目录 sudo mkdir -p /var/local/svn/repos

创建subversion库 sudo svnadmin create /var/local/svn/repos

将所有权授予Apache(www-data) sudo chown -R www-data:www-data /var/local/svn/repos

3、配置Apache2(使用基本的用户名和密码验证方式)

修改/etc/apache2/mods-available/dav_svn.conf,完成后的文件如下:

<Location /mss_svn>

DAV svn

SVNPath /var/local/svn/repos

AuthType Basic

AuthName “Subversion Repository”

AuthUserFile /etc/subversion/passwd

Require valid-user

</Location>

创建用户及密码: sudo htpasswd -c /etc/subversion/passwd yxh

此时系统会提示输入用户yxh的密码。用户名和密码保存在上述passwd文件中。

4、启动Apache2,使上述配置生效

sudo service apache2 stop

sudo service apache2 start

5、打开浏览器访问:http://localhost/mss_svn,输入用户名和密码就可以浏览svn库了。

平时使用TortoiseSVN时,也是使用http://localhost/mss_svn就可以对库进行操作了,当然,也需要输入用户名和密码。

(上述localhost也可以换成ip地址或者其他能访问的域名)

安装KDE SC4.6

安装KDE SC4.6

今天是大年三十,下午要吃年饭了,心情有些小激动,也有些小迷茫。抛开这些节日的情绪,刚才看到KDE4.6的介绍,考虑到我们的开发平台已经转换到QT上来了,研究一下KDE似乎也很有必要,因此又折腾起来,作为年饭前的小点吧。

在xubuntu中安装kde似乎不是很难,在命令行界面执行下面几行语句就可以了:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt-get update
sudo apt-get install kUbuntu-desktop
执行完后,系统就自动开始下载安装了。将近800M的安装包,午休先。。。
远程telnet方法(Xubuntu)

远程telnet方法(Xubuntu)

缺省情况下,Ubuntu似乎没有打开telnet方式,需要按照以下步骤进行安装或者修改:

step1:安装SSH

sudo apt-get install ssh

step2: 修改/etc/ssh/ssh_config文件,放开以下几项:

PasswordAuthentication yes

Port 22

Protocol 2,1

完成之后,就可以用SecureCRT以SSH2方式登录Ubuntu了。

(以上方式在Xubuntu 10.10上测试通过。)