一、服务器搭建

以下只讲解PHP+MySql环境在ubuntu下的配置

1、环境选择

LAMP:linux + apache + mysql + php

LNMP:linux + nginx + mysql + php

LNAMP:linux + nginx + apache + mysql +php

说明

要省内存的话LNMP是最好的选择,但似乎不太稳定,有时会比较常502

动态内容多的话,lamp还是最稳定的

lnamp是现在比较流行的一个组合,nginx做前端处理静态,apache做后台处理动态,这样比起lnmp的php-cgi相对是较稳定的

以上三种架构即是php开发中常见模式,以下以LAMP为主介绍

2、工具选择

putty:用于打开远程服务器的桌面工具,输入IP、端口、密码即可登录

WinSCP:用于上传代码文件到远程服务器的工具,类似ftp

3、环境搭建

安装架构:mysql + apache + php5 + php-mysql + phpmyadmin

环境:ubuntu 12.04

(1)sudo apt-get update 更新ubuntu的资源

(2)sudo apt-get install mysql-server mysql-client 安装mysql服务器和客户端

(3)sudo apt-get install apache2 安装apache2

(4)sudo apt-get install php5 libapache2-mod-php5 安装php5

(5)sudo apt-get install php5-mysql 安装php与mysql的扩展

(6)sudo apt-get install phpmyadmin  安装mysql的界面操作插件,需要才安装

(7)sudo apt-get remove phpmyadmin 卸载phpmyadmin,其它软件卸载类似

以上即是安装命令,安装完成之后以下是启动停止命令

(1)sudo /etc/init.d/apache2 start  启动apache

(2)sudo /etc/init.d/apache2 restart 重新启动apache

(3)sudo /etc/init.d/apache2 stop 停止apache

(4)sudo /etc/inint.d/mysqld start 启动mysql

(5)sudo /etc/inint.d/mysqld restart 重新启动mysql

(6)sudo /etc/inint.d/mysqld stop 停止apache

安装完成之后将phpmyadmin使用命令移动到apache默认目录,/var/www

sudo mv /usr/share/phpmyadmin /var/www

然后输入ip地址访问即可查看是否安装好,如果提示it works 证明安装成功

二、环境配置

1、apache目录

apache安装目录:/etc/apache2/ 该目录里面比较重要的目录如下:

apache2.conf:配置文件目录,基本不用修改

sites-enabled:apache真实的访问配置,里面默认只有000-default 一个文件,是主要修改文件

2、apache访问安全和多域名访问配置

(1)环境需要:

网站1目录:/var/www/test1

网站2目录:/var/www/test2

网站1域名:test1.com

网站2域名:test2.com

服务器ip:127.0.0.1

目的:两个网站分别放在test1和test2目录下,一台服务器同时配置两个网站域名可访问,而且默认目录/var/www禁止访问,同时也禁止ip直接访问。

(2)在/etc/apache2/sites-enabled目录下复制三份默认文件000-default,分别命名:test1,test2,ip-access

/etc/apache2/sites-enabled目录下有四个文件,如下:

000-default:默认目录需要修改

ip-access:配置禁止ip访问

test1:配置网站1域名test1.com可访问

test2:配置网站2域名test2.com可访问

(3)000-default修改

只允许内部访问,即localhost访问,禁止ip访问,否则会引起dos攻击、异常访问等安全问题

将所有Allow from all修改为

Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128

配置文件如下:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName localhost
    ServerAlias localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride ALL
        Order allow,deny
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

(4)ip-access修改

禁止公网ip访问

ServerName 公网ip

ServerAlias 公网ip

配置文件如下:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName 127.0.0.1 
    ServerAlias 127.0.0.1

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride ALL
        Order allow,deny
        Deny from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Deny from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

(4)test1修改

ServerName test1.com

ServerAlias www.test1.com

DocumentRoot /var/www/test1

只需要修改三个地方即可,配置文件如下:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName test1.com
    ServerAlias www.test1.com 

    DocumentRoot /var/www/test1
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride ALL
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

(4)test2修改

ServerName test2.com

ServerAlias www.test2.com

DocumentRoot /var/www/test2

配置文件基本与test1相同,只是以上三个地方不一样,这里不列出了

(5)如果只有一个域名,取掉test2即可

3、总结

如果服务器搭建好了,网站源码编写完成之后,只需要上传到服务器,只需等待域名备案过了即可上线,至于优化、推广等请移步参考网络推广模块学习。至此一个网站的搭建流程基本完成,只需要看完“新手建站”三篇教程,个人觉得即可正式运营一个小型站点。

顶: 0 踩: 0