(转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记
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:
- sudo service mysql start
- 进入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的详细笔记的更多相关文章
- Linux下安装配置MySQL
一.删除原来的MySQL 在安装前要先确定系统是否已经安装了其他版本的MySQL,如已安装其他版本的MySQL,需先删除后再安装新版本. 1. 执行yum命令,删除MySQL的lib库,服务文件 yu ...
- Java学习笔记——Linux下安装配置MySQL
山重水复疑无路,柳暗花明又一村 --游山西村 系统:Ubuntu 16.04LTS 1\官网下载mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz2\建立工作组:$su ...
- Linux下安装配置MySQL5.7服务器
Linux下安装配置MySQL服务器 一.安装环境 ============ OS:centos6.8 MySQL:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz ...
- Linux下安装配置与使用MySQL数据库
Linux下安装配置与使用MySQL数据库 在Linux下安装做开发时往往少不了要使用到MySQL数据库,下面就Linux系统为例讲解一下,如何安装MySQL数据库,如何启用/停.止MySQL服务,如 ...
- 在linux下安装配置rabbitMQ详细教程
在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...
- linux下安装配置svn服务器
linux下安装配置svn服务器 1. svn服务器安装 将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器. tar xfvz su ...
- 详解在Linux中安装配置MySQL
最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MySQL 安装环境 CentOS7 + MySQL5.7 下载安 ...
- Linux 下安装配置 JDK7
Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...
- CentOS6.5下安装配置MySQL
CentOS6.5下安装配置MySQL,配置方法如下: 安装mysql数据库:# yum install -y mysql-server mysql mysql-deve 查看mysql-server ...
随机推荐
- Python Tutorial学习(十一)-- Brief Tour of the Standard Library – Part II
11.1. Output Formatting 格式化输出 The repr module provides a version of repr() customized for abbreviate ...
- pip assert_source_matches_version(self)版本验证报错Source in %s has version %s, which satisfies requirement %s的解决方式
在win8.1下为了安装flask模块,开始安装pip,结果发生了上篇博客里面的错误ntpath join(path, *paths) 发生UnicodeDecodeError.解决之后继续发现版本验 ...
- auto_ptr, which can release the space automatically
C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理. 使用std::auto_ptr,要#include <memory>.[1] 中文名 自动指针 外 ...
- 如何设置路由器实现静态IP配置
一.概述 嵌入式开发者,经常面对这样的环境:PC(windows)+虚拟机(linux)+开发板.我们希望三者都能相互通信,而且可以联网. 对于实验室只提供一根网线,而自己没有额外的增加端口数量的设备 ...
- Hibernate validator验证
spring-mvc配置 <mvc:annotation-driven validator="validator" /> <bean id="valid ...
- TCP三次握手和http过程
pc浏览服务器网页此过程不包括域名查询,只描述TCP与http数据流的变化.一.pc与http服务器进行三次握手来建立连接.1.pc:seq=0 ack=0 syn=1 ack=0 发送给服务器建立同 ...
- iOS7新特性-NSURLSession详解
前言:本文由DevDiv版主@jas 原创翻译,转载请注明出处!原文:http://www.shinobicontrols.com/b ... day-1-nsurlsession/ 大家都知道,过去 ...
- 【itext】7步制作兼容各种文档格式的Itext5页眉页脚 实现page x pf y
itext5页眉页脚工具类,实现page x of y 完美兼容各种格式大小文档A4/B5/B3,兼容各种文档格式自动计算页脚XY轴坐标 鉴于没人做的这么细致,自己就写了一个itext5页眉页脚工具类 ...
- 报表中的Excel操作之Aspose.Cells(Excel模板)
原文:报表中的Excel操作之Aspose.Cells(Excel模板) 本篇中将简单记录下Aspose.Cells这个强大的Excel操作组件.这个组件的强大之处,就不多说,对于我们的报表总是会有导 ...
- Android中关于List与Json转化问题
比如 List<String>list=new ArrayList<String>(); list.add("test1"); list.add(" ...