新的iPhone和iPhone耳机大热卖,香港行,便宜!

在VPS上配置LAMP 服务器高级教程(一)- Mysql篇

由 Allen於 November 28th, 2008 / 发布在:Web2.o

终于买了cheapvps.co.uk的VPS(虚拟私有主机)。配置是512MB (1GB Burst) / 25GB HD / 500GB BW / 1IP

今天我要讲的是不是通过VPS服务商提供的LXadmin来配置LAMP服务器,而是直接通过SSH,用Terminal来从源码安装所需要的服务。

启动好你的Server,我安装的是CentOS 5.1,OpenSSH已经在服务器上装好,所以我们可以直接链接上,默认的root密码服务商都已经发邮件通知你了。

Starting SSH your server

Starting SSH your server

按照我的做法,输入你的密码,就已经登录了。

首先,我们要删除CentOS自带的Apache服务,因为CentOS5已经默认给你安装了Apache2.2.3。先删除httpd.conf,用命令:

rm /etc/httpd.conf

再删除httpd整个文件夹:

rm -rf /usr/httpd/

抱歉,可能httpd的正确位置不是这个,因为我的已经删除了,记忆力不太好了,:-P
基本上,原装的Apache已经不能工作了。那么我们开始了:

你要确认你的系统已经更新到最新了,并且安装好GCC和所需的库,所以运行以下代码先:

yum upgrade

yum -y install gcc gcc-c++ autoconf  libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel

在你的home目录下,建立一个src目录

mkdir ~/src
cd src

下载以下的软件和库等相关文件,因为VPS在美国,直接在服务器上下载比在本地下载还要快,而且更省事。

wget http://mirrors.kahuki.com/apache/httpd/httpd-2.2.10.tar.gz
wget http://www.php.net/get/php-5.2.6.tar.gz/from/this/mirror
wget http://php-fpm.anight.org/downloads/head/php-5.2.6-fpm-0.5.9.diff.gz
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.29-rc.tar.gz/from/http://mirror.x10.com/mirror/mysql/
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.12.tar.gz
wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0
wget http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.7.tar.gz?modtime=1194463373&big_mirror=0
wget http://pecl.php.net/get/memcache-2.2.4.tgz
wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.tar.gz?modtime=1175740843&big_mirror=0
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.8.tar.gz
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

好叻,开始安装吧,把每个文件解压缩,这里我就不一一示范了,解压缩tar.gz等的用的命令是tar zxf *.tar.gz,解压缩tar.bz2的命令是tar jxf *.tar.bz2

我们第一开始安装的是mysql,因为它牵涉的前期库和其他的要求不多。安装mysql之前,我们先要给mysql创建一些用户和组,使用useradd 和groupadd来完成,依次输入以下的命令:

groupadd mysql
useradd -g mysql mysql

进入mysql的source文件夹,使用一下configure方法,如果你有别的需求,可以用./configure –help来获得帮助:

./configure –prefix=/usr/local/mysql –localstatedir=/database –with-ssl=/usr/lib/openssl –with-low-memory –disable-maintainer-mode –with-mysqld-user=mysql –with-unix-socket-path=/tmp/mysql.sock –without-comment –without-debug –without-bench –with-innodb

我默认安装的位置在/usr/local/mysql/这是个人喜好,也有人喜欢把它直接装在/usr/local/下,这样的好处是不用把bin文件再做链接到系统环境里面了。并且把数据文件装在根目录下/database
然后配置好了,之后就make & make install一般没有什么问题。

Mysql是编译最久的一个软件,它经常会在某个地方呆很久,但是别担心,如果没有报错,肯定没问题,过20分钟差不多就ok了。

接下来我们需要做一些工作,把mysql的系统和数据文件的权限设置好:

chown -R root:mysql /usr/local/mysql
chown -R mysql:mysql /database

这样我们就可以安装初始数据了,使用以下命令:

./scripts/mysql_install_db

安装好以后,安装会提示你把mysql的lib库放进动态库加载的列表中,所以编辑:vim /etc/ld.so.conf
在文件中加入/usr/local/mysql/lib/mysql
/usr/local/mysql/lib/mysql/plugin (如果你加入了plugin,这里我们加入了innoDB的支持)
并且运行ldconfig
拷贝config文件到指定地方

cp support-files/my-medium.cnf /etc/my.cnf
chown root:sys /etc/my.cnf
chmod 644 /etc/my.cnf

创建一个可以控制mysql服务的文件

cp ./support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
/sbin/chkconfig –level 3 mysql on

把mysql的bin执行文件做一个快捷方式到系统的环境变量中,我这里推荐放在/usr/local/bin中

cd /usr/local/mysql/bin
for file in *; do ln -s /usr/local/mysql/bin/$file /usr/local/bin/$file; done

需要做一个让mysql自动启动的链接,并且启动mysql,使用以下命令:

ln -s /etc/rc.d/init.d/mysql /etc/rc.d/rc3.d/S90mysql
/etc/rc.d/init.d/mysql start

如果你想控制mysql服务,请使用:

/etc/rc.d/init.d/mysql start
/etc/rc.d/init.d/mysql stop

下面我们更改mysql root用户的密码:

mysqladmin -u root password new-password

更改好了之后我们就可以进入mysql了,使用:

mysql -u root -p

输入你的密码,就进入了mysql,这样mysql建立好了。

分享这篇文章
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • TwitThis

标签: , , ,

留下回应

你可以使用一下代码来帮助你的评论: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>