lighttpd+sqlite+mysql+php

安装软件包
lighttpd
lighttpd-mod-access
lighttpd-mod-alias
lighttpd-mod-cgi
lighttpd-mod-fastcgi
libsqlite2
libsqlite3
php5
php5-cgi
php5-fastcgi
php5-mod-ctype
php5-mod-pdo
php5-mod-pdo-sqlite
php5-mod-session
php5-mod-sqlite
php5-mod-mysql
php5-mod-pdo-mysql
php5-mod-tokenizer
php5-mod-mbstring
php5-mod-session
php5-mod-sockets
php5-mod-xml

配置lighttpd
vi /etc/lighttpd/lighttpd.conf
server.modules = (
“mod_access”,
“mod_fastcgi”,
“mod_alias”
)
server.document-root =”/mnt/www” 改为网页所在路径
index-file.names = ( “index.php”,”index.html”, “default.html”, “index.htm”, “default.htm” )
增加 url.access-deny = ( “~”, “.inc”,”.sqlite” )

【#fastcgi.server = (
# “.php” => (
# “localhost” => (
# “host”=>”127.0.0.1”,
# “port”=>1026,
# “socket” => “/tmp/php-fastcgi.socket”,
# “bin-path” => “/usr/bin/php”
# )
# )
#)】改为
【fastcgi.server = (
“.php” => (
“localhost” => (
“socket” => “/tmp/php-fastcgi.socket”,
“bin-path” => “/usr/bin/php-fcgi”
)
)
)】或
【fastcgi.server = (
“.php” => (
“localhost” => (
“host”=>”127.0.0.1”,
“port”=>1026,
“bin-path” => “/usr/bin/php-fcgi”
)
)
)】

编辑php.ini
vi /etc/php.ini
doc_root = “/www” 改为网页所在路径
修改上传文件路径和大小
file_uploads = On
upload_tmp_dir = “/mnt/sda1/phproot/tmp” 上传文件路径
upload_max_filesize = 200M 上传文件最大尺寸
max_file_uploads = 20

去掉下列项目extension前的分号
extension=gd.so
extension=ctype.so
extension=pdo.so
extension=pdo_sqlite.so
extension=session.so
extension=tokenizer.so
extension=mbstring.so
extension=pdo_mysql.so
extension=sockets.so
extension=mysql.so
extension=xml.so
extension=xmlreader.so
extension=xmlwriter.so
extension=sqlite.so
extension=sqlite3.so

去掉前面注释.
date.timezone = Asia/Chongqing

配置mysql

安装完以后,首先要建库
运行 /usr/bin/mysql_install_db –force
它好像是提示找不到路径 /mnt/data什么的,如果是这样,你就自己先去它说的地方建一个目录先,让它生成以后我们再移到要放到地方。

让它建完库后,在/etc目录下应该会多了一个my.cnf文件
其中有两个地方要注意一下
1, datadir                = /mnt/data/mysql/
        刚才它就是要求我们装在这个,你可以把它改成你要存放的路径(记得要它里面的所有文件复制到修改后的目录下)
2, bind-address                = 127.0.0.1
        这个127.0.0.1要把它改成0.0.0.0,这样路由以外的机器才能访问数据库。
编辑后保存退出

现在,设置基本就完成了
运行服务
运行  /etc/init.d/mysqld start
如果没有报错,恭喜你,你设置成功了
直接运行 mysql 应该就能进入管理模式了。

附言:
刚开如我是用mysql-gui-tools-noinstall-5.0-r17-win32这个工具去测试路由以外的设置能不能连上服务器的,录入了路由IP及用户名后,它提了一个报错,说拒绝接入之类的,安装完MySQL后,远程连接数据库的时候,出现 ERROR 1130 (HY000): Host ’192.168.0.1’ is not allowed to connect to this MySQL server提示信息,不能远程连接数据库。考虑可能是因为系统数据库mysql中user表中的host是localhost的原因,于是,我尝试把这个值改为自己服务器的ip,果然就好用了,不过用 mysql -u root -p命令就连不上数据库了,需要用mysql -h 服务器ip -u root -p因为默认的连接mysql数据库user表中host的值,而这个命令的默认host是localhost,就连不上了。

具体操作方法:

用localhost连接上mysql后,
use mysql;
update user set host=’123.456.789.254’;(IP为你想要远程连接数据库的本地机器的IP)
\q;

退出mysql,然后重新启动mysql就可以了。

其他解决方案

下面这个方法比较NB

2. 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
mysql -u root -pvmware
mysql>use mysql;
mysql>update user set host = ’%’ where user = ’root’;    //这个命令执行错误时可略过
mysql>flush privileges;
mysql>select host, user from user;

3. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’%’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’192.168.0.1’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;

测试info.php
phpinfo();
?>