Linux+mysql+apache+php+wordpress搭建个人空间
1. linux的安装
现在Linux的品种巨多,这个你可以选择一个你喜欢的linux系统,如果是新手并不建议你使用freebsd,gentoo等,建议你可以安装ubuntu,如果要安装ubuntu,可以到这里下载
http://xiexiejiao.cn/linux/ubuntu-10-04-download.html,如果你不想要界面的,可以直接下载ubuntu服务器版,10.04应该说来是比较新的了,把iso下载下来,刻个光盘,按照指示应该可以安装成功。如果有一台现成的机器安装成功之后,后面的还可以用网络安装。由于我尝试搭建个人空间的时候,已经有现成的系统,我并没有重新安装一遍,而且安装系统应该也不是一个困难的事情,这里就暂时提到这里。
2. mysql的安装
mysq有很多的版本,为了避免不必要的麻烦,个人建议你至少使用5.0以上的版本,我这里使用的是mysql-5.1.49,下载地址
http://www.mysql.com/downloads/mirror.php?id=392038#mirrors
选择亚洲台湾的就可以了,很抱歉我也没有看到大陆的。
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的官网的镜像都比较慢,所以上天空下吧
http://www.skycn.com/soft/1218.html
版本为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,那么我们在一台同网段的机器在浏览器中输入http://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 www.example.com:80前面的#取消即可。
当我们再次启动apache的时候就看不到这行语句了
至此apache安装成功。Apache的具体配置可以参考网络文档,这里暂时不讲解。
4. php的安装
下载地址,版本为5.3.3,安装
http://www.skycn.com/soft/517.html
解包,进入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,内容为<?php phpinfo(); ?>
在浏览器中输入http://192.168.16.7/phpinfo.php,你会发现此时会弹出一个下载框,并没有我们要显示的效果
因为还有地方需要配置
打开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,此时在浏览器中输入http://192.168.16.7/wordpress/
此时浏览器会提示你没有配置文件,这个时候我们需要进行配置,具体过程如下
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,前面已经创建
此时再打开http://192.168.16.7/wordpress/
你会惊讶的发现Index of /wordpress,而不是你理想中的页面,此时还需要修改两个地方
一个是httpd.conf文件,在这个文件中找到
<Directory "/usr/local/apache/htdocs">
AllowOverride None
</Directory>
将AllowOverride None修改为AllowOverride All
另一个是在wordpress目录下创建一个文件叫.htaccess,在这个文件中添加内容
DirectoryIndex index.php index.html
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
这两处修改完后,重启apache,此时再打开http://192.168.16.7/wordpress/,不是刷新,刷新有时候不好使,就会出现我们需要的画面。
接下去关于wordpress的介绍网上已经有很多了。
来源:http://blog.chinaunix.net/uid-14348211-id-2821146.html
Linux+mysql+apache+php+wordpress搭建个人空间的更多相关文章
- (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记
Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...
- 基于PHP以及Mysql,使用WordPress搭建站点
1.前提环境是PHP以及Mysql以及安装配置完成,Nginx服务启动: 2.配置Mysql的初始密码:mysql安装后,默认root密码是空的,所以要设置密码: mysql -u root mys ...
- Linux+mysql+apache+php
1.1.1 所需软件 cmake ncourse mysql apr apr-util pcre apache php 1.1.2 解压缩软件 ...
- linux下Apache+Svn环境搭建(五)
在搭建之前先准备好如下包,建议去apache官网去下载:http://httpd.apache.org/ apr-1.4.6.tar.gzapr-util-1.4.1.tar.gzhttpd-2.2. ...
- Linux:Apache服务器的搭建
下载安装并启动apache服务 安装apache服务 yum install -y httpd 启动apache服务 systemctl start httpd.service apache服务器的目 ...
- LAMP——搭建基于Apache、wordpress、nfs、mysql、DNS的系统
一.部署架构 二.部署过程 1.在10.0.0.8和10.0.0.18服务器上安装apache服务 [17:10:06 root@centos8 ~]#yum -y install httpd 安装p ...
- CentOS 7.4搭建LAMP,LAMP:Linux、Apache、MySQL、PHP
CentOS 7.4搭建LAMP,LAMP:Linux.Apache.MySQL.PHP. 目录: 第一部分 准备工作 第二部分 安装Apache服务 第三部分 安装MySQL服务 第四部分 搭建PH ...
- Ubuntu下的Apache、Mysql、PHP环境搭建
由于刚学习Linux,选择了界面比较友好的Ubuntu进行研究.命令行+可视化对于初学者来说组合还是比较不错的,图形界面作为命令行的一个过渡能比较直观的看到效果.在应用中学习是一个比较好的办法,我就是 ...
- windows下PHP+Mysql+Apache环境搭建
Apache版本:httpd-2.2.22-win32-x86-openssl- 下载地址:http://pan.baidu.com/s/1sjuL4RV PHP版 ...
随机推荐
- 路由器扫描的Java源码
这个源码不是本人写的,是我原来的领导写的,我们都叫他东哥,这个是东留给我的一个小资源,好佩服他哦,这个东西可以用来扫描全世界的路由器,破解路由器账户和密码 当然是简单的了.我能力不够没有更完善的补充下 ...
- leetcode:Contains Duplicate和Contains Duplicate II
一.Contains Duplicate Given an array of integers, find if the array contains any duplicates. Your fun ...
- Hbase源码分析:Hbase UI中Requests Per Second的具体含义
Hbase源码分析:Hbase UI中Requests Per Second的具体含义 让运维加监控,被问到Requests Per Second(见下图)的具体含义是什么?我一时竟回答不上来,虽然大 ...
- MINA经典入门例子----Time Server
原文地址 http://blog.sina.com.cn/s/blog_720bdf0501010b8r.html 貌似java的IO.NIO的入门例子都有相关的Time Server Demo.本例 ...
- fix org.openqa.selenium.NoSuchWindowException when find element on windows8.1 ie11.
Steps:1.I was able to resolve the issue after adding the site URL under trusted sites of IE. The sam ...
- QQ互发消息
private NewsData data; private void button3_Click(object sender, EventArgs e) //发送 { string x = text ...
- [转] Qt 多线程学习
Qt 多线程学习 转自:http://www.cnblogs.com/IT-BOY/p/3544220.html 最近的项目上用到了关于多线程的知识,自己也比较感兴趣,所以就拿了那本<C++ G ...
- 【英语】Bingo口语笔记(49) - 春节请客吃饭的表达
- 【英语】Bingo口语笔记(62) - 生气道歉场景的表达
- AIX 第3章 指令记录
[ssdb01.shz.hn|oracle|/home/oracle]$oslevel -rq --查看系统已安装的维护级别 Known Recommended Maintenance Levels ...