轻松升级CentOS 5.6到CentOS 6.0

RedHat Linux 的社区免费版本 CentOS 6.0 于7月11日正式发布。CentOS 6.0 基于上游的 RHEL 6.0 制作,同时基本包含了所有的上游软件包。CentOS 完全遵守上游供应商的再发行政策,并且以百分之百的软件兼容性为目标。

准备工作

  • cat /etc/redhat-release,查看版本
  • uname -a – 显示版本和内核信息
  • rpm -q kernel – 显示内核版本
  • yum -y update – 升级所有应用版本,更新CentOS到最新镜像版本

备份MySQL

首先备份MySQL,方法多种,下面介绍一种标准方法。

#1,导出MySQL数据库内容

mysqldump --user=root --password=passme db_1 > db_1.sql

#2,导入备份内容到新的版本

mysqldump --user=root --password=passme db_1 < db_1.sql

#3,相关命令查看运行的Mysql:

mysql -u root -p

列出所有已安装应用

yum list | grep installed > installed.txt

备份文件和相关配置

tar cvf /backup.tar /root /home /var /etc

在CentOS 6中解压文件

tar xf backup.tar

保留用户和组

备份下面这些重要文件:

  • /etc/passwd – 包含用户和主目录信息
  • /etc/shadow – 包括每个用户的密码信息
  • /etc/group – 每个用户组的信息
  • /etc/gshadow – 每个用户组密码信息

将 RHEL 5.4 升级为 CentOS 5.5

因为 RHEL 5.4 trial 到期不能 yum,一些安全 BUG 看着不能升级真的感到很蛋疼。于是尝试着将 RHEL 5.4 转换为 CentOS 5。首先当然是用 root 登录

yum clean all
mkdir ~/centos
cd ~/centos/
wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

wget http://mirror.centos.org/centos/5.5/os/i386/CentOS/centos-release-5-5.el5.centos.i386.rpm
wget http://mirror.centos.org/centos/5.5/os/i386/CentOS/centos-release-notes-5.5-0.i386.rpm
wget http://mirror.centos.org/centos/5.5/os/i386/CentOS/yum-3.2.22-26.el5.centos.noarch.rpm
wget http://mirror.centos.org/centos/5.5/os/i386/CentOS/yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm
wget http://mirror.centos.org/centos/5.5/os/i386/CentOS/yum-updatesd-0.9-2.el5.noarch.rpm
rpm –import RPM-GPG-KEY-CentOS-5
rpm -e –nodeps RedHat-release
rpm -e –nodeps yum-rhn-plugin
rpm -Uvh –force *.rpm
yum clean all
rpm –rebuilddb
yum update
重启一下,应该就是 CentOS 5.5 咯。

在Centos上安装独立运行的subversion

市面上大多是使用Apache来建立一个仓库,但是,不用apache的项目其实是很多的,所以建立一个独立运行的Subversion仓库是很有必要的,建立一个独立运行的Subversion仓库相当简单,几步操作就可以完成。

首先当然是安装:
yum install subversion

接下来创建一个系统用户并修改它的口令:
useradd svn
passwd svn

然后我们切换到这个用户,创建仓库目录:
su svn
cd
mkdir repositories

对仓库目录进行初始化,创建第一个项目:
cd repositories
svnadmin create myproject

然后,让我们修改一下这个项目的参数,将conf目录中的svnserve.conf配置文件中被注释掉的两项修改如下,很显然,第一项的意思是允许验证用户写入,第二项的意思是指定密码验证方式:
auth-access = write
password-db = passwd

然后我们添加用户,修改conf目录下的passwd文件就可以了,这个文件中,用户名和密码都是明文的,例如我们添加一个用户gfw,密码是fuckfbx,格式应该如下:
[users]
gfw = fuckfbx

然后就很简单了,运行这行命令,或者将这行命令加入rc.local以便开机启动:
svnserve -d -r /home/svn/repositories

如何部署WordPress到Amazon云主机

在过去的10年,架设一个大型网站是一个非常艰巨的任务,那可不是非专业人士可以完成的。现在好了,亚马逊开放了他们的服务器架构,一切都改变了。 计算机硬件被移动到了云端,普通站长和开发人员都可以利用亚马逊的硬件和网络资源来运行自己的应用。在本文中,我们将把WordPress博客安装到云端。


介绍

大多数博客和小型企业站点都托管在共享主机上面,通过固定的月租费用来获得预装软件和特定功能的使用。大多数情况下,共享主机是一个完美的解决方案,但是将你的博客安装在Amazon云端有很多好处是值得我们考虑的:

  • 更容易升级更新. 在Amazon云端创建一个新服务器可以在数分钟内完成。使用该服务,你的网站将有能力应付突如其来的流量爆发,比如你的博客文章被推荐到了Digg或者Reddit的首页,你可以添加更多服务器并平衡负载。
  • 经济有效的大规模服务能力. 如果你的站点吸引了大量的用户,并且最终超过了主机的正常伺服能力,Amazon Web Services 将给你一个经济有效的办法来设计一个符合你的需求的网站服务架构,而你并不需要去雇佣一个完整的网络运作团队来安装和管理网络。这也是许多 Facebook开发人员选择Amazon云服务器的原因。
  • 完善的安装与设置. 在运行WordPress时,这一点可能不是太重要,但如果你想使用PHP和MySQL之外的一些东西来建设你的下一个项目,则没有必要请求主机公司的帮助,你可以就像在你自己的服务器上一样安装你所需要的软件。

是否把WordPress站点放到亚马逊云端由你的博客流量决定,并且你可以根据你的实际需求来决定服务器配置。通过下面的指南,你可以了解到怎样迅速的在Amazon Cloud上设置和运行服务器。 Continue reading 如何部署WordPress到Amazon云主机

CentOS 5.5 yum源修改

在CentOS系统中,yum是个好东东,几乎大部分流行的组件都可以直接通过yum来安装,但系统默认的yum源速度往往不尽人意,而fastest mirror插件,有时候用起来并不是很适用,为了达到快递安装的目的,我们需要修改默认的yum源

中科大的Centos 开源镜像站点. http://centos.ustc.edu.cn/

执行以下命令就可以了

cd /etc/yum.repos.d

mv CentOS-Base.repo CentOS-Base.repo.bak

wget http://centos.ustc.edu.cn/CentOS-Base.repo.5

mv CentOS-Base.repo.5 CentOS-Base.repo

cat CentOS-Base.repo

[base]
name=CentOS-$releasever – Base
baseurl=http://centos.ustc.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever – Updates
baseurl=http://centos.ustc.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever – Addons
baseurl=http://centos.ustc.edu.cn/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever – Extras
baseurl=http://centos.ustc.edu.cn/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever – Plus
baseurl=http://centos.ustc.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

也可以使用,http://mirrors.163.com/ http://mirrors.sohu.com,电信用户使用163的镜像速度会比较快。

Opening Windows to a Wider World

Opening Windows to a Wider World

这个广告词我觉得写得不错,如前述,在FreeBSD下频繁的读写ext3分区有导致分区dirty的可能,所以我把接入磁盘阵列的操作系统换成了Centos5.5,使用LiveCD灌到U盘,然后通过VNC,局域网网络安装,没有图形界面,速度很快,十几分钟就欧了,这台笔记本配置很低,一枚VIA的800Mhz处理器,2G内存,80G硬盘,我最中意它的是因为它作为一台笔记本,是没有风扇的~大大减少了物理损坏的可能。装好Centos,yum了一个samba3x上去,mount上磁盘阵列,修改好配置文件,发现总是启动failed,我英明的查看了一下samba日志,然后上网搜了搜~

[2011/04/01 15:28:20,  0] smbd/server.c:main(1275)
smbd version 3.3.8-0.52.el5_5.2 started.
Copyright Andrew Tridgell and the Samba Team 1992-2009
[2011/04/01 15:28:20,  0] lib/messages_local.c:messaging_tdb_init(96)
ERROR: Failed to initialise messages database: Permission denied
[2011/04/01 15:28:20,  0] lib/messages.c:messaging_init(204)
messaging_tdb_init failed: NT_STATUS_ACCESS_DENIED

搜索的结果是,出现这些个错误的原因林林种种,什么数据库错误,编码问题,但很明显都不是我要的结果,就在我准备放弃的时候,我看见有人在其它的问题上抱怨SElinux……电光火石间,我意识到了这个问题。

究其根本,是因为以前在安装Centos服务器的时候,考虑到使用Oracle数据库的可能,都装上了图形界面,而且我习惯性的在装好之后把SElinux和iptables都禁用掉,这次只安装了命令行,木有安装图形界面,于是,SElinux和iptables都在那运行着……找到了问题,解决起来就很简单,把SElinux直接disable掉(/etc/sysconfig/selinux),然后chkconfig iptables off,chkconfig ip6tables off,reboot。

终于可以顺利的启动Samba服务,接下来进行配置,参考原来mybookworld中的配置文件,简单的说呢就是,有一些目录大家可读可写,有一些目录大家可读不可写,有一些目录大家不可读不可写,有一些目录我可读可写,嗯,还没晕的话说明你逻辑思维能力很强。

smb.conf配置如下:

[global]
server string = MyBookWorld Version %v
netbios name = mybookworld
workgroup = WORKGROUP
interfaces=192.168.151.5/24 127.0.0.1/8
security=user
smb passwd file=/etc/samba/smbusers
guest account=www
log file=/var/log/log.%m
max log size=50
dns proxy=No
unix charset = utf8
lock directory=/var/lock
pid directory=/var/lock
use sendfile=Yes
map to guest = Bad User
create mask = 755
map hidden = Yes

[dummy-1]
include=/etc/samba/shares.inc

其中,包含了一个配置文件,shares.inc,这个文件中含有所有的共享目录设置,配置如下:

[PRIVATE]
path=/shares/PRIVATE
force user=www
valid users=kenbaby
write list=kenbaby

[MOVIE]
path=/shares/MOVIE
force user=www
guest ok=Yes
valid users=kenbaby www
write list=kenbaby
read list=www

[PUBLIC]
path=/shares/PUBLIC
force user=www
valid users=www kenbaby
write list=www kenbaby
guest ok=Yes

这个配置文件很简单,英文过了四级的都能看懂,第一个PRIVATE目录,只允许kenbaby进行读写,写入的文件权限赋给www用户,第二个MOVIE目录,所有用户都可以读取,但只有kenbaby可以写入,同样,写入的文件权限赋给www用户,第三个目录PUBLIC,所有的用户都可以进行读写。将写入的文件权限赋给www用户,很好的保证了文件在磁盘上的权限统一在一个用户下,前面的smb.conf配置文件中,已经将www用户指定为来宾用户,也就是说,在Windows PC访问共享的时候,默认的Guest用户就能够直接访问,不用输入用户名和密码了。

最后一步,添加系统用户和samba用户,首先是添加系统用户:

groupadd www
useradd www -g www
groupadd kenbaby
useradd kenbaby -g kenbaby

系统用户无需初始化密码,这样它们也无法通过shell登入操作系统。然后我们添加samba用户,由于www用户是指定的来宾帐户,不需要设置密码,我们只需要为kenbaby用户添加密码即可。

smbpasswd -La kenbaby

添加完成后,重新启动smb服务即可访问共享啦!当然,如果要使用netbios name,还需要启动nmbd服务(/etc/init.d/nmbd restart)