zoukankan      html  css  js  c++  java
  • 服务器架设:CentOS搭建LAMP详细教程 新风宇宙

    LAMP 是Linux、Apache、MySQL、PHP的首字母缩写,也就是在一台Linux服务器上安装带有PHP和Mysql支持的Apache网站服务器。

    1. 说明

    本文以BurstNET VPS主机为例,操作系统是CentOS5.5,独立服务器操作方法与VPS相同。域名请做好DNS指向。

    2. 安装 Apache2

    Apache2 已经包含在 CentOS 软件包中了,一般来说,系统已经默认安装完毕。如果没有,你可以使用下面的命令轻松安装它:

    yum install httpd

    系统会提示已需要安装的版本并自动安装,如有更新,系统会显示需要更新的版本。

    如已经安装完毕将显示下述信息:

    Package httpd-2.2.3-22.el5.centos.2.i386 already installed and latest version
    Nothing to do

    安装 Apache 后,你可以启动:

    /etc/init.d/httpd start

    可以查看运行状态:

    /etc/init.d/httpd status

    现在可以在浏览器中打开 http://domain.com(你的域名) 或 http://ip地址(VPS的IP地址),就可以看到 Apache 2 Test Page 页面。
    如果是本地服务器,现在可以在浏览器中打开 http://localhost 或 http://127.0.0.1 ,看到 Apache 2 Test Page 页面。

    修改配置文件:

    vi /etc/httpd/conf/httpd.conf

    可以修改侦听端口 80 -> 8080 :

    #Listen 12.34.56.78:80
    Listen 8080

    你可以重启动服务:

    /etc/init.d/httpd restart

    接着继续再了解一下 apache2 这个版本的结构,这有助于我们配置应用:

    /etc/httpd/conf/httpd.conf :最主要的配置文件;
    /etc/httpd/conf.d/*.conf :这个是 CentOS 的特色,如果你不想修改原始配置文件 httpd.conf 的话,其他配置的在此独立配置,启动 apache 时,这个文件就会被读入到主要配置文件;
    /usr/lib/httpd/modules :apache 支持很多的模块,您想要使用的模块默认都放置在此目录;
    /var/www/html :这里是 CentOS 默认的“首页”目录;
    /var/www/error :默认的系统错误信息,主机设置错误或浏览器端要求的数据错误,在浏览器上出现的错误提示就以这里的信息为主;
    /var/www/icons :提供 apache 的一些小图标;
    /var/www/cgi-bin :默认一些可执行的 CGI 程序放置的目录;
    /var/log/httpd :日志文件目录,这里的文件很容易变的很大,需要提供足够的空间;
    /usr/sbin/apachectl :这是 Apache 的主要执行文件,这个执行文件其实是 shell script ,它可以主动检测系统上的一些设置值,好让您启动 Apache 时更简单;
    /usr/sbin/httpd :这是主要的 apache 的二进制文件;
    /usr/bin/htpasswd :当您想登陆某些网页时,需要输入账号与密码。那么Apache本身就提供一个最基本的密码保护方式,该密码的产生就是通过这个命令实现的。

    3. 安装 MySQL5

    执行下面的命令来安装 MySQL:

    yum install mysql mysql-server

    然后启动 MySQL 服务器:

    /etc/init.d/mysqld start

    运行下面的命令来为 root 用户设置一个密码(否则的话任何人都可以访问你的MySQL数据库!):

    mysqladmin -u root -p password 12345678

    Enter password: 输入root密码以确认修改,一般root初始密码为空(上面的12345678为你想要的密码)

    重新正常启动 MySQL:

    /etc/init.d/mysqld stop
    /etc/init.d/mysqld start

    MySQL 有几个重要目录与文件:
    /etc/my.cnf :这是Mysql的配置文件,包括 mysql 数据库的优化;

    /usr/lib/mysql :这个目录是 MySQL 数据库放置的位置,务必在备份时将此目录完整的备份下来。

    4. 安装 PHP5

    使用下列命令来安装 PHP5 和 Apache 的 PHP5 模块:

    yum install php

    然后重新启动 Apache :

    /etc/init.d/httpd restart

    这个安装比较简单,完成后可以测试一下。Apache 网站的默认文档的路径是 /var/www/html ,在这个目录里上传一个PHP探针,并且在浏览器中调用 http://localhost/env.php 将会显示很多 PHP5 的安装信息。

    PHP5 正在工作,你会看到很多模块都可以在 PHP5 中使用了,而 MySQL 并没有在这里被列出来,这意味着 PHP5 并不支持MySQL,你还需要安装 php-mysql 这个包。

    5. 安装PHP组件,使 PHP5 支持 MySQL

    yum search php

    选择你所需的安装包,然后通过下列命令安装他们:

    yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash

    检查系统更新,然后安装更新,最后清理安装包。

    yum check-update
    yum update
    yum clean all

    如果需要,可以编辑php.ini,一般不用改动

    vi /etc/php.ini

    CentOS的PHP版本为5.1.x,如果需要安装5.2.x,需要增加一个官方的测试源即可。具体步骤如下:

    vi /etc/yum.repos.d/CentOS-Testing.repo

    在vi编辑器里面,将下面这段文本粘贴进去:

    [c5-testing]
    name=CentOS-5 Testing
    baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
    priority=1

    输入:wq保存退出vi。

    然后在终端下执行:

    如果已安装php,执行下面命令

    yum update php

    如果未安装php,执行下面命令

    yum install php

    这样PHP 5.2就装好了。

    然后重新启动 Apache2 :

    /etc/init.d/httpd restart

    在浏览器中重新加载 http://localhost/env.php 这个页面,你就能看到刚刚安装的 PHP和MySQL 模块。

    6. 设置 Apache2 和 MySQL 开机启动

    chkconfig --levels 3 httpd on
    chkconfig --list httpd
    /etc/init.d/httpd restart

    chkconfig --levels 3 mysqld on
    chkconfig --list mysqld
    /etc/init.d/mysqld restart

    注意:“设置 Apache 和 MySQL 开机启动”这一步一定要做,否则是访问不了你的网站的。

    OK,一个 LAMP 服务器搭建完成。

    第二部分

    1.安装phpMyAdmin

    如果已经将PHP更新到5.2.x,可以自行安装phpMyAdmin最新版3.x。
    如果没有更新PHP的版本,由于 yum install php安装的版本为php5.1版,而phpMyAdmin-3.x只能搭配php5.2.x 使用,所以不要上传phpMyAdmin-3.x版,而应该上传较低的版本:phpMyAdmin-2.11.10版或phpMyAdmin- 2.11.9.6版,这两个较低版本的phpMyAdmin才能搭配php5.1使用。建议用如下办法:

    phpMyAdmin是一款MySQL数据库web化的管理工具。

    我们先使我们的CentOS支持RPMforge repository,因为phpMyAdmin并不在CentOS5.3官方的依赖包里:

    对于 x86_64 系统:

    wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
    rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

    对于 i386系统

    wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
    rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

    现在你就可以使用下列命令来安装phpMyAdmin了:

    yum install phpmyadmin

    现在我们配置下phpMyAdmin。我们改下Apache的配置文件,使的phpMyAdmin不单单是本机访问。 (即注销<Directory “/usr/share/phpmyadmin”>) 如下所示:

    #<Directory “/usr/share/phpmyadmin”>
    #  Order Deny,Allow
    #  Deny from all
    #  Allow from 127.0.0.1
    #</Directory>

    vi /etc/httpd/conf.d/phpmyadmin.conf

    然后登陆winscp,进入/usr/share/phpmyadmin/,然后修改里面的配置文件:config.inc.php。

    在$cfg['blowfish_secret'] = ‘ ‘,单引号里面随便填一个字符串。

    在$cfg['Servers'][$i]['controluser'] = ”,单引号里面填入root;

    在$cfg['Servers'][$i]['controlpass'] = ”,单引号里面填入你在安装mysql时所设置的密码。然后保存更改。

    重启Apache:

    /etc/init.d/httpd restart

    然后,你就可以通过http://domain.com/phpmyadmin/:访问phpMyAdmin了。

    2.使用putty登陆SSH

    这是给网站根目录赋予写权限

    chown root:root /var/www/html/ -R

    或者

    chmod -R 777 /var/www/html/

    安装zip文件解压工具

    yum install unzip

    3.在Apache配置文件中添加你的虚拟机信息

    vi /etc/httpd/conf/httpd.conf

    此为IPv4虚拟机配置,已包含rewrite信息,支持WordPress固定链接
    <VirtualHost 67.123.122.21:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html
    ServerName www.abc.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
    <Directory “/var/www/html”>
    Options FollowSymLinks IncludesNOEXEC Indexes
    DirectoryIndex index.html index.htm index.php
    AllowOverride all
    Order Deny,Allow
    Allow from all
    </Directory>
    </VirtualHost>

    此为IPv6虚拟机配置,已包含rewrite信息
    <VirtualHost [2201:f676:2:382:0:123:1661:2]:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html
    ServerName www.abc.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
    <Directory “/var/www/html”>
    Options FollowSymLinks IncludesNOEXEC Indexes
    DirectoryIndex index.html index.htm index.php
    AllowOverride all
    Order Deny,Allow
    Allow from all
    </Directory>
    </VirtualHost>

    确认Apache工作在Dual Stack模式:

    netstat -tulpn | grep :80

    第三部分

    实例:安装WordPress设置固定链接教程
    1.安装Wget

    yum install wget

    2.进入虚拟机所在目录

    cd /var/www/html

    3.下载WordPress到服务器并解压

    wget wget http://wordpress.org/latest.tar.gz
    tar zxvf latest.tar.gz

    4.修改WordPress目录属性

    chmod -R 777 /var/www/html/wordpress
    chgrp -R ftp /var/www/html/wordpress
    chown -R www /var/www/html/wordpress

    5.修改apache2的虚拟机配置文件(位于/etc/httpd/conf/httpd.conf),在<VirtualHost *:80>和</VirtualHost>中间加入下面代码

    <Directory “/var/www/html”>
    Options FollowSymLinks IncludesNOEXEC Indexes
    DirectoryIndex index.html index.htm index.php
    AllowOverride all
    Order Deny,Allow
    Allow from all
    </Directory>

    6.apache2重新加载配置:

    /etc/init.d/httpd restart

    提醒一下,本教程未提及FTP服务的安装,如果需要可以安装vsftpd或pureftpd,过程不再赘述。因为我自己觉得使用WinSCP的SFTP就够用了,没有必要安装过多的服务消耗系统资源。

    【遇到问题】

    1.欲将www主目录设置为/home/www/html,目录权限如下
    drwxr-xr-x 2 root root 4096 01-19 01:12 /home/www/html
    httpd.conf配置文件如下
    DocumentRoot "/home/www/html"
    执行/etc/rc.d/init.d/httpd start出现如下错误
    启动 httpd:Syntax error on line 281 of /etc/httpd/conf/httpd.conf:
    DocumentRoot must be a directory

    解决方法:一般通常都是 selinux 問題。

    請修改目錄的 security content,讓 apache 有存取該目錄的權限。

    1. chcon -R -t httpd_sys_content_t /home/www/html
    2.tsql连接数据库没问题,php连不上问题,执行

        注意事项:如果CentOS开启了selinux,需要用如下命令开启SELinux对于httpd的网络访问权限:

        /usr/sbin/setsebool -P httpd_can_network_connect=1
  • 相关阅读:
    poj2739
    poj1469
    poj2010
    poj1179
    poj1778
    使用数组实现ArrayList的效果
    zgb老师关于java集合的总结
    jah老师中关于集合的总结
    继承一个类或者是实现一个接口注意点
    5、Iterator迭代器的使用
  • 原文地址:https://www.cnblogs.com/php5/p/2163454.html
Copyright © 2011-2022 走看看