zoukankan      html  css  js  c++  java
  • (转载)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:

    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的环境配置基本上已经完成,安装过程中可能因为大家的版本和环境不同而出现点差异,大家再参考点资料应该没有什么问题。

  • 相关阅读:
    [记录] web icon 字体
    ruby sass Encoding::CompatibilityError for changes
    [CSS][转载]内层div的margin-top影响外层div
    PHP 有关上传图片时返回HTTP 500错误
    APK downloader
    阿里云CentOS7.2卸载CDH5.12
    CentOS7查询最近修改的文件
    service cloudera-scm-server restart报错 Unable to retrieve remote parcel repository manifest
    CDH安装报错 Monitor-HostMonitor throttling_logger ERROR ntpq: ntpq -np: not synchronized to any server
    CDH5.12安装检查Inspector failed on the following hosts...
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/3808226.html
Copyright © 2011-2022 走看看