2008 Ruby On Rails
28Nov

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

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

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

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

SSH

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

首先,我们要删除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建立好了。

« | »

View Comments to “在VPS上配置LAMP服务器高级教程-Mysql篇”

|
  1. [...] 为了能在本地跑PHP/Mysql数据库的程序,我们需要安装一个本地服务器。通常来说是(X)AMP,X代表操作系统,也就是操作系统(X)+Apache(世界上最流行的Web服务器)+ PHP脚本语言 + MySQL数据库。在Mac我们有MAMP,在Windows我们有XAMPP 或者 WAMP,这三个服务器都是打包好的,各种库都已经包含在内,下载直接可以使用。那么在Linux中,我们用什么?当然是LAMP,怎样配置呢?请参见我另外的一篇文章“在VPS上配置LAMP服务器高级教程-Mysql篇” [...]

|

Leave a Reply

blog comments powered by Disqus

@ Douban.com