Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

Linux下配LMAP环境,花了我好几天的时间。之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程中出现了一些错误,经过好几次安装,翻了好多资料,最后找出问题的所在,才把环境搭建好,对于高手来说,这或许不算什么,但对于一个刚入门的新人,却是不一样了,这篇文章记录着我的一些笔记,希望对于那些刚刚入门的人们有所帮助,仅作为参考。

安装首先我们得获得MySQL,Apache,PHP,WordPress的源码包,软件的官网如下:

MySQL: http://www.mysql.com

Apache: http://www.apache.org

PHP: http://www.php.net

WordPress: http://cn.wordpress.org

下载的方式有几种,你可以从电脑上下载,然后传到linux上。

在电脑上下可能有些朋友不知道怎么传到linux上,我使用的是一个远程登录软件Xshell 4,传输工具是Xftp 4。

注:免费软件 Xshell 和 Xftp 都是 NetSarang 出品的优秀网络管理、安全传输工具。Xshell 是一个免费的安全终端仿真器,可以作为 SSH、TELNET 或 RLOGIN 的终端模拟,能够从 Windows 平台安全连接 Linux 服务器,Xftp 则是安全传输客户端,支持 FTP 和 SFTP 协议,两者都支持标签化的会话窗口。这两者基本是都是配套存在的。

也可以从linux上下载:

使用wget url 这个指令,把源码包下载到linux下解压缩安装,如

sudo wget http://cn.wordpress.org/wordpress-3.5.1-zh_CN.tar.gz

sudo tar zxvf wordpress-3.5.1-zh_CN.tar.gz

因为我使用的系统是ubuntu的,普通用户需要有root执行权限的需要在前面加“sudo”,这是unbuntu的一个特色,其他的系统版本的可以不加。

下面开始安装:

安装MySQL

我安装的版本是mysql-5.0.95,在官网上一时找不到自己想要版本的朋友,可以从这个链接里找:ftp://mirror.csclub.uwaterloo.ca/mysql/Downloads/MySQL-5.0

安装之前为了尽量避免出错,我们现在安装几个需要的东西,gcc,g++, ncurses

缺少gcc,g++编译器会出现:

configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

解决办法:sudo apt-get install build-essential或者

sudo apt-get install gcc

sudo apt-get install gcc-c++

如果系统是suselinux的朋友可以: zypper install gcc   zypper install gcc-c++

其他版本系统的执行: yum install gcc  yum install gcc-c++

缺少ncurses,MySQL的库文件会出现:

checking for termcap functions library... configure: error: No curses/termcap library found

解决办法:sudo apt-get install libncurses5-dev

步骤:

sudo wget ftp://mirror.csclub.uwaterloo.ca/mysql/Downloads/MySQL-5.0/mysql-5.0.95.tar.gz

sudo tar zxvf mysql-5.0.95.tar.gz

cd mysql-5.0.95

sudo ./configure --prefix=/usr/local/mysql --with-extra-charsets=all  //检测环境,指定安装目录

注:检测出缺少什么就安装什么,然后再重新编译

(这里--prefix=是这mysql的安装目录,--with-extra-charsets选项则是指定了MySQL可以支持的语言编码,这里设置为全部支持,具体使用哪种编码,可以在程序中指定。

另外还有再编译时候按个人需要来增加的一些参数:

--sysconfdir=/usr/local/etc

--libexecdir=/usr/local/sbin

--localstatedir=/var/lib/mysql

--enable-assembler

--with-charset=utf8

--with-collation=utf8_general_ci

--with-extra-charsets=gbk,gb2312,binary

--enable-thread-safe-client

--enable-local-infile

--with-pthread

--with-plugin-innobase

--without-bench

--without-readline

--with-mysqld-ldflags="-all-static -ltcmalloc"

--with-client-ldflags=-all-static

sudo make         //编译

sudo make install    //安装

添加用户,用户组并设置权限:

groupadd mysql                          //如果有了可以不执行

useradd -g mysql mysql     //如果有了可以不执行

sudo cp support-files/my-medium.cnf /etc/my.cnf

sudo cp support-files/mysql.server /etc/init.d/mysqld

sudo cd /usr/local/mysql

sudo chown -R root .      // 后面有小点

sudo chown -R mysql var

sudo chgrp -R mysql .      //后面有小点

sudo chmod +x /etc/init.d/mysqld

sudo chkconfig --add mysqld

sudo chkconfig --level 3 mysqld on

sudo bin/mysql_install_db --user=mysql

sudo bin/mysqld_safe --user=mysql &

启动MySQL:

  1. sudo service mysql start
  2. 进入MySQL安装目录下,/usr/local/mysql

sudo ./bin/mysql –u root

注:第一安装默认密码Passwrod为空,如果有密码的则加上密码,./bin/mysql –u root –p123456

netstat –lt  可以查看各个进程,看MySQL是否启动

#更换 MYSQL root用户密码

sudo /usr/local/mysql/bin/mysqladmin –u root password 'yourpassword'

还有一点需要说明,MySQL服务默认只允许从服务器本机连接,如果需要从远程连接,还需要在MySQL中设置相应的权限,并更新权限表,具体操作如下:

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";

mysql> flush privileges;

(注意前面的“mysql>”,这个操作是连接到MySQL服务后,在MySQL中进行的,而不是在操作系统中进行的)

(注:上面这个更改权限的例子,是使得可以从任意一台远程终端使用root用户连接MySQL服务器,用户应根据自己的实际需要进行设置)

安装Apache

安装的大体步骤跟MySQL差不多,我使用的源码包是httpd-2.2.9.tar.gz

从官网下载得到源码包后:

sudo tar zxvf httpd-2.2.9.tar.gz

cd httpd-2.2.9.tar.gz

sudo ./configure --prefix=/usr/local/apache --with-enable=so --enable-rewrite --enable-static-support

(注:apache编译起来较容易,关键是在配置httpd.conf)

sudo make

sudo make install

cd  /usr/local/apache

sudo ./bin/apachectl start

服务器启动后可以在浏览器中输入:http://ip,如果看到“It’ works!”说明安装成功!

Apache默认的web根目录为Apache安装目录下的htdocs目录,如果希望指定到其他目录,可以通过修改Apahce的配置文件实现,操作如下:
cd /usr/local/apahce/conf
sudo vi httpd.conf
找到“DocumentRoot "/usr/local/apache/htdocs"”,将"/usr/local/apache/htdocs"部分修改为希望使用的目录,此外,还需要找到 “<Directory "/usr/local/apache/htdocs">”,同样将"/usr/local/apache/htdocs"修改为希望使用的目录(比如:/var/www),保存退出。

这里需要注意,要修改默认的web根目录,需要同时修改这两项设置,只修改其中一个是无效的。

如果,你这两样都配置完后,你访问浏览器时出现:Forbidden You don't have permission to access / on this server.

那说明你的权限还是不够。

网上有许多文章介绍说,将

<Directory />                                   

Options FollowSymLinks                             

AllowOverride None                               

Order deny,allow                                

Deny from all                                 

</Directory>

它之间Deny from all修改为Allow from all,这是相当不负责任的说法,如果你这么做了,更对不起自己,这是禁止apache对根目录“/”以下所有内容禁止访问的设定,也是网站安全设置中最基本的设置,只开通对应网站根目录的权限就可以了,如果将整个服务器的根目录都开放,一但有人试图上传一段可执行代码在不应该出现的目录里,后果不堪设想....

我们可以设置目录权限,让你的目录树都有执行权限,可以设置755

sudo chmod 755 /var/www

如果依然无法访问的

chcon -R -t httpd_sys_content_t  /var/www

修改完成后,需要重启apahce服务,才能使新的配置生效,操作如下:
cd /usr/local/apache/bin
sudo ./apachectl restart

如果出现端口被占用而无法重启的,可以使用ps -ef | grep httpd查看PID

然后kill –l PID

也可以杀死同一组内的所有进程 killall httpd 然后再启动

安装PHP

安装PHP时也需要注意几个,安装前先安装几个需要的东东,libxml2-dev

sudo apt-get install libxml2-dev

可能需要的有

freetype-2.4.4.tar.gz

gd-2.0.35.tar.gz

jpegsrc.v6b.tar.gz

libpng-1.5.4.tar.gz

libtool-1.5.26.tar.gz

zlib-1.2.3.tar.gz

根据检测需要的再安装

下载 php-5.2.6.tar.gz

sudo tar zxvf php-5.2.6.tar.gz

cd php-5.2.6

sudo ./configure --prefix=/usr/local/php --with-xml --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-mysql-sock=/tmp/mysql.sock

完成后将会看到“Thank you for using PHP.”的字样,表明PHP已经配置成功了。

sudo make

sudo make test  //有的说make test可以不用

sudo make install

安装完PHP后,还需要手动修改一下Apache的配置,以便使Apache支持PHP,操作如下:
cd /usr/local/apache/conf
sudo vi httpd.conf
找到“AddType application”部分,在后面添加如下内容:
AddType application/x-httpd-php .php .php3 php5

AddType application/x-httpd-php-source .phps
(如果需要添加默认php索引文件名的支持,则需要找到“DirectoryIndex index.html ”,修改为“DirectoryIndex index.html index.php”),修改完成后保存退出。
此外,不要忘了将PHP安装目录中的php.ini-recommended文件拷贝到编译时指定的PHP配置文件目录/usr/local/php/etc下,在PHP源码包目录“php-5.2.6”中操作如下:
sudo cp php.ini-recommended /opt/php/etc/php.ini

注:php.ini-recommended是5.2版本中有,如果是5.3或者更高版本的,由于版本更新,这些文件有了新的命名:
php.ini-production对应于php.ini-recommended
php.ini-development对应于php.ini-dist
全部配置完成后,不要忘了重启apache,以便使新的配置生效。

为确认PHP安装是否成功,可以在web的根目录下(DocumentRoot的路径)创建一个index.php文件

sudo vi index.php

写入

<html>

<head><title>testphp</title></head>

<body>

<?php

phpinfo();

?>

</body>

</html>
保存退出,在浏览器中输入:http://ip/index.php,如果配置正确,就能看到刚刚配置好的服务器的相关信息,其中包括 Apache、MySQL以及PHP的版本、安装路径、配置情况等。如果看到的只是“phpinfo();”字样,说明apache没能正确支持PHP,请检查上述的配置过程是否都已经正确完成

安装WordPress

wordpress下载解压后只要把wordpress文件下的所有东西复制到解DocumentRoot下,再配置些信息就可以(不是复制wordpress目录,是下面的所有东西)

在配置前,先建立好数据库,

cd  /usr/local/mysql

sudo ./bin/mysql –u root p123456

建立wordpress数据库

mysql> create database wordpress;

建立wordpress用户,密码为123

  mysql> grant all on wordpress.* to wordpress@’%’ identified by '123';

mysql>flush privileges;

sudo wget http://cn.wordpress.org/wordpress-3.5.1-zh_CN.tar.gz

sudo tar zxvf wordpress-3.5.1-zh_CN.tar.gz

cd wordpress

sudo mv wp-config-sample.php wp-config.php

sudo vi wp-config.php

输入数据库信息:

  define('DB_NAME', 'wordpress'); // 数据库名称

  define('DB_USER', 'wordpress'); // 用户名字

  define('DB_PASSWORD', '123'); // 用户密码

define('DB_HOST', 'localhost'); // 访问的地址IP,根据你服务器IP来定

保存退出,然后测试,在浏览器中输入服务器的ip地址访问即可。

关于MySQL+Apache+PHP+WordPress的环境配置基本上已经完成,安装过程中可能因为大家的版本和环境不同而出现点差异,大家再参考点资料应该没有什么问题。

(转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记的更多相关文章

  1. Java学习笔记——Linux下安装配置MySQL

    山重水复疑无路,柳暗花明又一村 --游山西村 系统:Ubuntu 16.04LTS 1\官网下载mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz2\建立工作组:$su ...

  2. Linux 下安装配置 JDK7

    Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...

  3. CentOS6.5下安装配置MySQL

    CentOS6.5下安装配置MySQL,配置方法如下: 安装mysql数据库:# yum install -y mysql-server mysql mysql-deve 查看mysql-server ...

  4. linux 下安装配置jboss as7以及部署应用

    linux 下安装配置jboss as7以及部署应用 1.测试平台及软件 centos 5.4 jdk-7u5-linux-i586.rpm jboss-as-7.1.1.Final.zip jbos ...

  5. Linux下安装配置Node及memcached

    这篇主要是记录Linux下安装Node及memcached遇到的问题及安装配置过程,方便日后查阅 Node安装及配置 [root@hostname ~]tar zxvf node-v0.12.4.ta ...

  6. [Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例.

    今天 不知自己装的centos 出现了什么问题, 一直卡在 启动界面, 找了半天没找见原因(最后时刻还是发现原因, 只因自己手欠一怒之下将centos删除了, 而且选择的是在本地磁盘也删除. ..让我 ...

  7. Ubuntu Linux上安装配置Mysql

    一.安装: 三种安装方式: 1. 从网上安装 sudo apt-get install mysql-server.装完已经自动配置好环境变量,可以直接使用mysql的命令. 注:建议将/etc/apt ...

  8. 一步到位Linux中安装配置MySQL及补坑

    Windows上安装MySQL也就不讲了,基本上一路点击下一步就可完成,现在讲讲Linux上布署Mysql,虽然也有很多网友列出了详细的步骤,可能是因为版本过老的问题导致即使按照上面一步步来也还是出现 ...

  9. LAMP_01_Win下安装配置MySql

    1.解压Mysql server到D盘配置环境变量MYSQL_HOME      D:\J2EE\apache-ant-1.9.7PATH            %MYSQL_HOME%\bin; 2 ...

随机推荐

  1. Windows下MySQL无法启动

    问题描述: 从网上下了5.7 的MySQL,在bin目录下执行 start mysqld ,弹出个cmd窗口一闪就没了,也看不清是什么报错.mysqld --install安装了服务,也启动不了.   ...

  2. iOS一些常用的小知识点

    //获取全局的Delegate对象,这样我们可以调用这个对象里的方法和变量 [[UIApplication sharedApplication] delegate]; //获得程序的主Bundle N ...

  3. css中import与link用法区别

    方式:引入CSS的方法有两种,一种是@import,一种是link @import url('地址');//注意,这种方式可以放在页面也可以放在css文件中<link href="地址 ...

  4. 【T_SQL】 基础 事务

    1.使用 T-SQL 语句来管理事务       开始事务:BEGIN TRANSACTION       提交事务:COMMIT TRANSACTION       回滚(撤销)事务:ROLLBAC ...

  5. css与js后边有?v=20160101

    原文地址http://blog.csdn.net/zanychou/article/details/8813076 <span style="font-size:14px;" ...

  6. Linux进程含义知多少

    理想情况下,您应该明白在您的系统中运行的每一个进程.要获得所有进程的列表,可以执行命令 ps -ef(POSIX 风格)或 ps ax(BSD 风格).进程名有方括号的是内核级的进程,执行辅助功能(比 ...

  7. ZFS(一):ZFS在Debian GNU/Linux上的安装

    以下内容翻译自https://pthree.org/2012/04/17/install-zfs-on-debian-gnulinux/,并附有原文,由于是第一次翻译,如有任何翻译不恰当之处,欢迎指出 ...

  8. 【转】--在Android源码树中添加userspace I2C读写工具(i2c-util)

    通过/dev/i2c-n节点,用户可以在userspace直接访问板上的i2c外设寄存器,主要是透过I2C_RDWR这个IO控制命令将i2c_msg数组传递给kernel去执行.下面的代码可以完成这个 ...

  9. 问问题_为什么关闭浏览器后Session会失效

    首先需要理解一下几点: 1.Http是无状态的,即对于每一次请求都是一个全新的请求,服务器不保存上一次请求的信息 2.Session是保存在服务端的,为什么后续请求会读取到session?因为请求会包 ...

  10. 01分数规划zoj2676(最优比例,最小割集+二分)

    ZOJ Problem Set - 2676         Network Wars Time Limit: 5 Seconds      Memory Limit: 32768 KB      S ...