分类: LINUX
2010-08-18 09:05:06
Linux+mysql+apache+php+wordpress搭建个人空间
整理:姚建明
邮箱:
日期:2010-8-18
这个是一个普遍的搭建个人空间的架构,本以为是一件非常容易的事,以为半天就搞定了,因为相比这些东西网上介绍的应该非常详细了,但是没想到还是居然花去了我一天多的时间,在网上找了很多资料发现总是会漏掉一些东西,搞得总出一些问题,中间还穿插了一些window平台的资料,无奈windows平台的资料参考起来麻烦,所以决定还是把自己的安装流程记录下来,以方便大家能够迅速搭建这样一套平台。这里需要说明的是,我只安装到个人机器上,并且具有固定ip,可以直接使用ip地址访问,我并没有申请个人域名,个人空间,所以如果需要申请域名和空间的需要另查找资料。
1. linux的安装
现在Linux的品种巨多,这个你可以选择一个你喜欢的linux系统,如果是新手并不建议你使用freebsd,gentoo等,建议你可以安装ubuntu,如果要安装ubuntu,可以到这里下载
,如果你不想要界面的,可以直接下载ubuntu服务器版,10.04应该说来是比较新的了,把iso下载下来,刻个光盘,按照指示应该可以安装成功。如果有一台现成的机器安装成功之后,后面的还可以用网络安装。由于我尝试搭建个人空间的时候,已经有现成的系统,我并没有重新安装一遍,而且安装系统应该也不是一个困难的事情,这里就暂时提到这里。
2. mysql的安装
mysq有很多的版本,为了避免不必要的麻烦,个人建议你至少使用5.0以上的版本,我这里使用的是mysql-5.1.49,下载地址
选择亚洲台湾的就可以了,很抱歉我也没有看到大陆的。
mysql有按照源码安装,也有二进制安装(rpm这一块我不熟悉,所以就不说了),我这里选择的是二进制安装。据说源码安装的方式编译需要很长的时间,如果机器不好的话,选择源码安装的话需要足够的耐心。我直接采用二进制安装,免去了编译的时间。
如果已经把二进制版本的mysql下载下来后,先不要安装。先看看你之前安装过mysql没有,如果没有安装,那很好,你可以开始安装了,如果之前安装过mysql,则这个时候需要先做一些处理。
因为mysql-5.1.49包含库libmysqlclient.so.16,而之前版本可能是有libmysqlclient.so.15,所以需要把之前版本的mysql的bin程序和lib库和my.cnf等配置文件统统删除。一般bin程序主要在/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,你只要到这些目录下用ls mysql*,查看是否有mysql的bin程序,如果有则rm mysql*进行删除。一般lib库在/lib,/usr/lib,/usr/local/lib,到这些目录下用ls libmysql*,查看是否有mysql的lib库,如果有则用rm libmysql*进行删除。还有/etc/my.cnf文件和/etc/mysql目录也需要删除。
在做好这些事情之后,则可以安装mysql了。将tar包拷到/usr/local目录下,使用
tar xvf mysql-5.1.49-linux-i686-glibc23.tar.gz进行解包,
解完包后将目录mysql-5.1.49-linux-i686-glibc23修改为mysql。
进入目录cd /usr/local/mysql,你会发现有一个文件叫INSTALL-BINARY,摘录出这些语句,其中有两句被我删除了,这两句其实就是解包,剩下的如下,这些语句看懂应该没问题吧?
有问题就给我发邮件吧
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql &
安装完后创建root的密码,进入bin目录
./mysqladmin –u root password 123456
这里密码设为123456
如果你要远程访问,则需要自己添加用户,并设置权限,由于这里暂时不需要这个功能,则暂时不提了。
现在可以在本地访问mysql了
./mysql –p123456就可以进入mysql了
如果要这样执行mysql –p123456则要确保mysql的bin目录的路径在PATH环境变量中
可以这样把mysql的bin路径加入到PATH变量中去
export PATH=$PATH::/usr/local/mysql/bin
至此mysql安装完毕。并且拥有了本地的用户名为root,密码为123456。
3. apache的安装
由于我试了几个apache的官网的镜像都比较慢,所以上天空下吧
版本为2.2.16,安装方式为源码安装
这里稍微提提,php和apache的配合现在主要有两种,一种就是dso模式,即动态模式,一种是直接将php静态编译进apache中去,一般如果对性能要求不严的话,一般采用dso模式,这里也将按照dso模式安装
将下载的目录解包,然后就进入到目录中去
./configure –prefix=/usr/local/apache –enable-so
--prefix表示安装路径
--enable-so表示模块化,也就是一会要支持php模块
make编译
make install安装
./apachectl start 启动apache
这样启动之后,如果这台机器的ip为192.168.16.7,那么我们在一台同网段的机器在浏览器中输入,就能看到it works!表示apache已经安装成功
在启动apache的时候我们会看到一行语句
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
这个主要是因为conf/httpd.conf中ServerName没有配置,进入httpd.conf中将
ServerName 前面的#取消即可。
当我们再次启动apache的时候就看不到这行语句了
至此apache安装成功。Apache的具体配置可以参考网络文档,这里暂时不讲解。
4. php的安装
下载地址,版本为5.3.3,安装
解包,进入php目录,进行配置
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql
--prefix表示安装目录
--with-mysql表示加载mysql
--with-apxs2表示会在apache的modules目录下生成一个php的so
--with-apxs2表示apache版本为2.0以上
--with-apxs表示apache版本为1.0以上
我们这里使用apache2.0以上,所以选项要--with-apxs2
make 编译
make install 安装
此时假设你重新启动了apache,并在apache的文档路径下编写了这样一个php文件,取名叫phpinfo.php,内容为 phpinfo(); ?>
在浏览器中输入,你会发现此时会弹出一个下载框,并没有我们要显示的效果
因为还有地方需要配置
打开apache的httpd.conf文件在AddType application/x-gzip .gz .tgz后面添加
AddType application/x-httpd-php .php
然后重启apache,这样再输入前面的地址,就可以看到显示php的信息的一个页面
至此php安装完毕,当然如果要支持pcre,curl等则需要另外编译动态库
5. wordpress的安装
下载
解包,然后将目录复制到/usr/local/apache/htdocs目录下
之所以要选这个目录是因为apache下的httpd.conf中有一个选项DocumentRoot,如果你要选择一个你自己设定的目录,则可以修改这个选项
我们现在假设目录是/usr/local/apache/htdocs目录,在这个目录下有wordpress目录,ip地址仍然假设是192.168.16.7,此时在浏览器中输入
此时浏览器会提示你没有配置文件,这个时候我们需要进行配置,具体过程如下
cp wp-config-sample.php wp-config.php
打开wp-config.php,有三个选项需要修改
define('DB_NAME', 'database_name_here');
define('DB_USER', 'username_here');
define('DB_PASSWORD', 'password_here');
一般define('DB_HOST', 'localhost');不需要修改
把database_name_here修改为你在mysql数据库中创建的数据库名,我们假定在mysql数据库中已经有wordpress数据库,在这里把database_name_here修改为wordpress
username_here修改为root,前面已经创建
password_here修改为123456,前面已经创建
此时再打开
你会惊讶的发现Index of /wordpress,而不是你理想中的页面,此时还需要修改两个地方
一个是httpd.conf文件,在这个文件中找到
AllowOverride None
将AllowOverride None修改为AllowOverride All
另一个是在wordpress目录下创建一个文件叫.htaccess,在这个文件中添加内容
DirectoryIndex index.php index.html
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
这两处修改完后,重启apache,此时再打开,不是刷新,刷新有时候不好使,就会出现我们需要的画面。
接下去关于wordpress的介绍网上已经有很多了。
我也刚接触这个wordpress,所以一起学习吧,如果我上面的整理当中有什么bug的话,请联系本人,本人的邮箱在开头,我会在第一时间修改,以免给新人不必要的麻烦。
6.