php mysql apache 配置笔记葡京网上娱乐场

    前些天尤其布署了mysql apache php
,纵然网上海人民广播广播台湾大学那下边包车型客车例证,可是过多是小编再回想写的,所以难免有笔误的地方。
而那个东西,正是新手很质疑的地点。一下是本人的安装笔记,在Centos虚拟机上设置成功。
中文的参阅:http://xieyu.blog.51cto.com/213338/59749
英文的参考 How to Install MySQL 5.0 on
Linux
How
to Install PHP 5 on
Linux
How
to Install Apache 2 on
Linux

1.开启mod_rewrite
将#LoadModule rewrite_module modules/mod_rewrite.so
这行的#去掉

mysql apache php 安装进程。
将apache ,mysql
,php 的tar.gz 文件复制到/home/tmp目录。接着实践上边包车型客车指令
    mysql 安装     1 cd /home/tmp
    2  groupadd mysql
    3  useradd -g mysql mysql
    4  tar -zxvf mysql-5.1.33.tar.gz
    5  cd mysql-5.1.33
    6  ./configure –prefix=/usr/local/mysql
    7  make
    8  make install
   14  cd /usr/local/mysql
   15  chown -R root .
   17  bin/mysql -u root -p
   1捌  chgrp -奥德赛 mysql .(注意有个.)
   21  cd /home/tmp
   23  cd mysql-5.1.33
   25  ln -s /usr/local/mysql/ /usr/local/mysql
   26  cp support-files/my-small.cnf /etc/my.cnf 
    修改my.cnf 在[sqld]下边增多user=mysql.
   27  chown root /etc/my.cnf
   28  chgrp root /ect/my.cnf
   30  chmod 644 /etc/my.cnf
   33  /usr/local/mysql/bin/mysqld_safe –user=mysql &
   36  cp support-files/mysql.server /etc/init.d/mysql
   37  chmod 755 /etc/init.d/mysql
   38  chkconfig –add mysql
   39  chkconfig –level 35 mysql on
   41  /usr/local/mysql/bin/mysql_install_db  –user=mysql
   42  /usr/local/mysql/bin/mysql -u root(假诺能进来mysql
命令行,表达mysql 配置成功。)

2.修改httpd.conf
壹)将你的网址目录配置中的
AllowOverride None 改为AllowOverride All

edit /etc/my.cnf

2)修改Options的属性
建议改为Indexes FollowSymLinks

 [client]
 + default-character-set=utf8
 [mysqld]
 + default-character-set=utf8
 [mysql]
 + default-character-set=utf8

FollowSymLinks
服务器允许在此目录中采纳标识连接。
Indexes
借使3个映射到目录的U奥迪Q5L被呼吁,而此目录中又不曾DirectoryIndex(例如:index.html),那么服务器会再次回到由mod_autoindex生成的贰个格式化后的目录列表。
申明:由于当下apache二.二本子之后Options私下认可的值是None,导致启用.htaccess后出现40三张冠李戴。那个难点干扰了很久,因为开首未有理会到这么些标题。全体非常长日子在地面不能够测试re_write功能的主次。

  apache安装,请先进入/home/tmp目录(cd /home/tmp)
   44  tar -zxvf httpd-2.2.13.tar.gz
   45  cd httpd-2.2.13

昨日早上看apache的error.log时见到
[Sat Aug 09 23:06:19 2008] [error] [client
127.0.0.1] Options FollowSymLinks or
SymLinksIfOwnerMatch is off which implies that RewriteRule directive is
forbidden: G:/hekey/www/111/post/0, referer:
http://localhost/111/admin.php?go=misc_urlrewrite
错误的时候才通晓是Options的标题

   46  ./configure –prefix=/usr/local/apache2 –enable-so
–enable-rewrite –enable-auth-digest=shared –enable-ssl
–enable-deflate


   47  make
   48  history
   49  make install
   50  cp /usr/local/apache2/bin/apachectl  /etc/init.d
   51  chmod 755 /etc/init.d/apachectl 
   54  /usr/local/apache2/bin/apachectl start

在网上找了众多篇有关配置apache
mod_rewrite的小说,发觉这篇最有用,大家要求的可参照一下。

    php的安装    56  cd /home/tmp
   58  tar -xzf php-5.3.0.tar.gz
   59  cd php-5.3.0

一,通过php提供的phpinfo()函数查看环境布署,通过Ctrl+F查找到“Loaded
Modules”,在那之中列出了装有apache二handler已经拉开的模块,假若中间包括“mod_rewrite”,则早就支撑,不再供给继续设置。
只要未有开启“mod_rewrite”,则展开目录
您的apache安装目录“/apache/conf/”
下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule
rewrite_module”,将日前的”#”号删除就能够。即使未有查找到,则到“LoadModule”
区域,在最后壹行参加“LoadModule rewrite_module
modules/mod_rewrite.so”(必选独占1行),然后重启apache服务器就能够。

./configure –prefix=/usr/local/php \
–with-apxs2=/usr/local/apache2/bin/apxs \
–with-mysql=/usr/local/mysql \
–with-pdo-mysql \
–with-zlib \
–with-libxml-dir \
–with-xsl \
–enable-mbstring \
–enable-zend-multibyte \
–enable-sockets \
–enable-soap \
–enable-zip

2, 让apache服务器帮助”.htaccess”
如何让祥和的地头APACHE服务器帮忙”.htaccess”呢?其实假设轻易修改一下apache的httpd.conf设置就能够让APACHE
持.htaccess了。打开httpd.conf文件(在那里?
APACHE目录的CONF目录里面),用文件编辑器展开后,查找
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
改为
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
就足以了

   62  make
   65  make install
   修改apache httpd.conf(apache/conf/httpd.conf)
丰裕如下一些:
LoadModule php5_module modules/libphp5.so

3,建立 “.htaccess” 文件
如若是在windows平台下,刚开头还真不知道怎么建立”.htaccess”文件,因为这么些文件实际上并未有公文名,仅仅唯有扩充名,通过常备情势是无能为力树立这一个文件的,别着急,立刻告知你两种艺术:
三种艺术都以先创造贰个htaccess.txt的公文文件(当然,这些文件文件的名字你可以随便取),然后有二种办法给这些文件重命名:(一)用记事本
展开,点击文件–另存为,在文书名窗口输入”.htaccess”,注意是总体古金色部分,也正是带有英文引号,然后点击保存就行了。(二)进入cmd命令
窗口,通过cd切换当刚建立htaccess.txt文件的文书夹,然后输入指令:rename
htaccess.txt .htaccess
,然后点击键盘Enter键就可以。(三)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。
这正是说我们必要创造多少个“.htaccess”
文件,里面又输入什么内容吧?基本的规则是这么,根目录必须有八个,用于重定向(UTiggol重写)全部的请求都会转到到index.php(交
给前端调控器);”./application”文件夹下要求二个,用于拒绝全体针对该文件夹内容的直白访问(比如
http://localhost/application/models/User.php),这样做是因为所有访问请求必选通过前端控制器来分配访
问,其次为了安全;“./library”文件夹下的“.htaccess”同前;”./public”文件夹下必选建3个,因为那些文件夹的公文全体是
供前端直接访问的,因而必须打消ULacrossel重写。以下是八个“./htaccess”文件的始末:
./.htaccess
RewriteEngine on
RewriteRule !/.(js|ico|gif|jpg|png|css)$
index.php
./application/.htaccess
deny from all
./library/.htaccess
deny from all
./public
RewriteEngine off
实际上,apache的url重写功效也得以平昔在httpd.conf文件中开始展览安装,那里就不现实讲了,网上有关的科目也许多。

AddType application/x-httpd-php .php


   68  cp php.ini-development /usr/local/php/lib/php.ini
   69  /usr/local/apache2/bin/apachectl start
   70  /usr/local/apache2/bin/apachectl stop
   71  /usr/local/apache2/bin/apachectl start

rewrite标志

**附:mysql 允许远程连接

R[=code](force redirect) 强制外部重定向
强制在代表字符串加上http://thishost\[:thisport\]/前缀重定向到外部的URL.如果code不指定,将用缺省的302
HTTP状态码。
F(force URL to be forbidden)禁用URL,返回403HTTP状态码。
G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码。
P(force proxy) 强制行使代理转载。
L(last rule) 声明当前规则是最终一条规则,甘休分析之后规则的重写。
N(next round) 重新从第2条规则开头运营重写进程。
C(chained with next rule) 与下一条规则关联
万1规则相配则符合规律处理,该标识无效,借使不协作,那么上边全部涉嫌的条条框框都跳过。
T=MIME-type(force MIME type) 强制MIME类型
NS (used only if no internal sub-request) 只用于不是内部子请求
NC(no case) 不区分轻重缓急写
QSA(query string append) 追加请求字符串
NE(no UKugaI escaping of output) 不在输出转义特殊字符
例如:RewriteRule /foo/(.*) /bar?arg=P1/%3d$1 [R,NE]
将能正确的将/foo/zoo转换来/bar?arg=P1=zed
PT(pass through to next handler) 传递给下一个拍卖
例如:
RewriteRule ^/abc(.*) /def$1 [PT] # 将会付出/def规则处理
Alias /def /ghi
S=num(skip next rule(s)) 跳过num条规则
E=VALAND:VAL(set environment variable) 设置环境变量

**/usr/local/mysql/bin/mysql -u root -p  (进入mysql)
use mysql;
SELECT `Host`,`User` FROM user;
UPDATE user SET `Host` = ‘%’ WHERE `User` = ‘root’ LIMIT 1;
flush privileges;
小心在mysql 命令行格局下一定要输入”;”.

rewrite时服务器变量: HTTP headers:HTTP_USER_AGENT, HTTP_REFERER, HTTP_COOKIE,
HTTP_HOST, HTTP_ACCEPT
connection & request: REMOTE_ADDR, QUERY_STRING
server internals: DOCUMENT_ROOT, SERVER_PORT, SERVER_PROTOCOL
system stuff: TIME_YEAR, TIME_MON, TIME_DAY

pdo_mysql
wget
http://pecl.php.net/get/PDO\_MYSQL-1.0.2.tgz
tar xzvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
./configure –with-php-config=/usr/local/php/bin/php-config
经过configure就可以make了
make
make install注意pdo_mysql的全路线,作者的是:
/usr/local/php/lib/php/extensions/debug-non-zts-20060613/pdo_mysql.so
然后在/usr/local/lib/php.ini
累加一句:
extension=/usr/local/php/lib/php/extensions/debug-non-zts-20060613/pdo_mysql.so
重新启航apache就能够看到曾经加载pdo_mysql成功。

Rewrite规则表达式的认证:
. 相称任何单字符
[chars] 相配字符串:chars
[^chars] 不相称字符串:chars
text壹|text贰 可挑选的字符串:text壹或text二
? 匹配0到1个字符
* 相称0到七个字符

 

  • 相配壹到三个字符
    ^ 字符串开始标记
    $ 字符串截止标记
    /n 转义符标记

mysql 的config例子

反向引用 $N 用于 RewriteRule 中相称的变量调用(0 <= N <= 玖)
反向引用 %N 用于 RewriteCond 中末了1个非常的变量调用(1 <= N <= 九)

 

RewriteCond标志符 ‘nocase|NC'(no case)忽略大小
‘ornext|O凯雷德’ (or next condition)逻辑或,能够同时包容四个RewriteCond条件

./configure –prefix=/usr/local/mysql-5.1.59 –enable-assembler
–with-charset=utf8 –with-collation=utf8_general_ci
–with-extra-charsets=complex –enable-thread-safe-client
–with-big-tables –with-readline –with-ssl –with-embedded-server
–enable-local-infile –with-plugins=partition,innobase,myisammrg

RewriteRule适用的标识符
‘redirect|R [=code]’ (force
redirect)强迫重写为遵照http开始的外部转向(注意U宝马X5L的变化)
如:[R=301,L]
‘forbidden|F’ (force U大切诺基L to be forbidden)重写为禁止访问
‘proxy|P’ (force proxy)重写为经过代理访问的http路线
‘last|L’ (last rule)最终的重写规则标记,假诺同盟,不再施行现在的规则
‘next|N’ (next round)循环同一个规则,直到不能够满意相配
‘chain|C’ (chained with next
rule)假如合作该规则,则持续下边包车型地铁有Chain标记的规则。
‘type|T=MIME-type’ (force MIME type)指定MIME类型
‘nosubreq|NS’ (used only if no internal
sub-request)假若是内部子请求则跳过
‘nocase|NC’ (no case)忽略大小
‘qsappend|QSA’ (query string append)附加查询字符串
‘noescape|NE’ (no UPAJEROI escaping of
output)禁止U汉兰达L中的字符自动转义成%[0-9]+的形式。
‘passthrough|PT’ (pass through to next
handler)将重写结果运用于mod_alias
‘skip|S=num’ (skip next rule(s))跳过下边多少个规则
‘env|E=VATucson:VAL’ (set environment variable)增多环境变量

实操

例子:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^MSIE [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Opera [NC]
RewriteRule ^.* – [F,L]
那里”-”表示从未替换,浏览器为IE和Opera的访客将被明确命令禁止访问。

例子:
RewriteEngine On
RewriteBase /test
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ([^/]+)$ /test/$1.php
#for example: /test/admin => /test/admin.php
RewriteRule ([^/]+)/.html$ /test/$1.php [L]
#for example: /test/admin.html => /test/admin.php

限定目录只可以呈现图片
< IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !^.*/.(gif|jpg|jpeg|png|swf)$
RewriteRule .*$ – [F,L]
< /IfModule>