• fedora linux平台下搭建lighttpd+php+sqlite


    (一)lighttpd

    1. 安装

    yum install lighttpd

    安装完毕后,系统中应该多了一个用户lighttpd和组lighttpd。这个用户,默认是不同意登陆的。

    我们改动/etc/passwd,将lighttpd改动为例如以下形式。

    lighttpd:x:489:470:lighttpd web server:/home/lighttpd/:/bin/bash

    注意,你所示数字可能不是489,470,这个没关系,也不用改,保持原来的值就可以。


    2. 为lighttpd用户创建一个文件夹,将站点的内容放进去

    mkdir   /home/lighttpd

    chown lighttpd:lighttpd   /home/lighttpd

    创建相关子文件夹,并放入站点的内容。

    注意,/home/lighttpd以lighttpd文件夹中的各种操作,都以lighttpd用户的身份来完毕。否则,lighttpd执行时可能会出现权限问题。

    su lighttpd

    cd /home/lighttpd

    mkdir www

    mkdir www/cgi-bin 

    mkdir www/databases 

    mkdir www/images 

    mkdir www/log

    好了,如今能够往各个文件夹里放内容了,网页,图片,php脚本,sqlite数据库文件等。

    index.html就放到www文件夹下。


    3. 配置

    改动lighttpd的配置文件  /etc/lighttpd/lighttpd.conf

    a)打开cgi功能

    当然,你也能够依据须要,打开其它的功能。我改动后的server.modules例如以下。

    server.modules              = (
                                    "mod_rewrite",
                                    "mod_redirect",
    #                               "mod_alias",
                                    "mod_access",
    #                               "mod_trigger_b4_dl",
    #                               "mod_auth",
    #                               "mod_status",
    #                               "mod_setenv",
    #                               "mod_fastcgi",
    #                               "mod_proxy",
    #                               "mod_simple_vhost",
    #                               "mod_evhost",
    #                               "mod_userdir",
                                    "mod_cgi",
                                    "mod_compress",
    #                               "mod_ssi",
                                    "mod_usertrack",
    #                               "mod_expire",
    #                               "mod_secdownload",
    #                               "mod_rrdtool",
                                    "mod_accesslog" )

    b) 默认的文件名称

    这里把default.xxx也给加上。

    index-file.names            = ( "index.php", "index.html",
                                    "index.htm", "default.htm", "default.php" )


    c) 设置一些路径

    server.document-root        = "/home/lighttpd/www/"

    ## where to send error-messages to
    server.errorlog             = "/home/lighttpd/www/log/error.log"

    accesslog.filename          = "/home/lighttpd/www/log/access.log"


    #### php解析器的路径加上
    cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                                   ".php" => "/usr/bin/php-cgi" )


    4. 启动lighttpd

    service lighttpd start


    5. 设置lighttpd开机自己主动启动

    chkconfig --add lighttpd


    (二)sqlite

    这个简单,直接安装一下即可了。

    yum install  sqlite


    (三)php

    1. 编译及安装

    下载php源代码包

    http://ar2.php.net/distributions/php-5.6.3.tar.bz2

    将源代码包复制到 /root文件夹下

    然后进入/root文件夹,运行例如以下命令序列

    tar -xjf php-5.6.3.tar.bz2 

    cd php-5.6.3

    ./configure  --prefix=/usr --with-config-file-path=/etc --enable-libxml --with-libxml-dir=/usr/lib --with-sqlite3 --enable-pdo --with-pdo-sqlite CLAGS=-O2

    make; make install


    须要注意的是,这样的编译方式,支持訪问sqlite3的方式为pdo方式。这样的方式,不须要依赖不论什么extension


    (四)測试

    a) 

    用lighttpd用户,进入/home/lighttpd/www/databases文件夹,创建一个数据库

    [lighttpd@localhost databases]$ sqlite3 test.db
    SQLite version 3.6.22
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite> create table my_friends(name varchar(10), age smallint);
    sqlite> insert into my_friends values('tom',22);
    sqlite> insert into my_friends values('liyan',21);

    输入ctrl+d退出sqlite shell


    b) 用lighttpd用户,进入cig-bin文件夹,创建一个php脚本haha.php,内容例如以下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>

    <body>

    <?php
        //phpinfo();
        echo "hello  我的第一个php脚本<br>";
        echo getcwd();
            
        $file_db = new PDO('sqlite:../databases/test.db');
        $result = $file_db->query('SELECT * FROM my_friends');
            
        foreach($result as $row) 
        {
            echo " name: ".$row['name']."<br>";
        }
    ?>

    </body>
    </html>


    c) 用浏览器訪问haha.php看看效果吧 :)

    http://ip_of_lighttpd/cgi-bin/haha.php


    假设在调试php程序时,遇到问题,能够打开/etc/php.ini,设置例如以下内容,以打开php的报错功能:

    error_reporting = E_ALL & ~E_NOTICE

    display_errors = On


  • 相关阅读:
    我回来了
    wget 官方jdk
    linux rpm命令安装卸载 初步使用
    关于一些对location认识的误区(转)
    直接插入排序
    冒泡排序
    Wireshark下TCP三次握手四次挥手
    linux内存使用率详解
    Linux下硬盘使用率详解及shell脚本实现
    Linux下CPU使用率详解
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4297051.html
Copyright © 2020-2023  润新知