AC66U梅林固件安装lighttpd+php+mysql
本帖最后由 jsllb1986 于 2015-4-17 14:13 编辑第一,想办法把U盘格式化成EXT3格式(可以用minitool分区向导),也可以自行百度用命令格式化。
第二,格式化成EXT3后,挂载上U盘。
第三,安装entware
ssh进入路由器输入命令entware-setup.sh
第四,安装完成entware后安装以下的东西opkg install php5 php5-mod-gd php5-mod-session php5-mod-pdo php5-mod-pdo-mysql php5-mod-mysql php5-mod-mcrypt php5-mod-mbstring php5-fastcgi php5-cgi php5-mod-xml php5-mod-ctype php5-mod-curl php5-mod-exif php5-mod-ftp php5-mod-iconv php5-mod-json php5-mod-sockets php5-mod-sqlite3 php5-mod-tokenizer php5-mod-zip
opkg install mysql-server
opkg install lighttpd lighttpd-mod-fastcgi lighttpd-mod-access lighttpd-mod-alias lighttpd-mod-rewrite lighttpd-mod-redirect libncurses
opkg install zoneinfo-core zoneinfo-asia
第五,winscp进入路由器
● 修改tmp/mnt/sda1/entware/etc/my.cnf datadir =/mnt/sda1/data/mysql/ #根据实际情况填写,比如/mnt/sda1/data/mysql这次是把mysql安装在优盘或者移动硬盘里,其它移动设备请填写: /mnt/xxx/data/tmp 注:优盘必须8G以上
tmpdir =/mnt/sda1/data/tmp/ #根据实际情况填写,比如/mnt/sda1/data/tmp 这次是把mysql安装在优盘或者移动硬盘里,其它移动设备请填写:/mnt/xxx/data/tmp 注:优盘必须8G以上
● 创建数据库文件夹mkdir -p /mnt/sda1/data /mnt/sda1/data/mysql /mnt/sda1/data/tmpchmod -R 777 /mnt/sda1/data#对应上面的填写,并确保目录及其父目录的权限都是0777。
第六,创建默认的数据库mysql_install_db –force/opt/etc/init.d/S70mysqld restart
mysql -u root
mysql> create database wordpress;
mysql> grant all privileges on wordpress.* to admin@localhost identified by '12345678' ;
第七修改etc/lighttpd/lighttpd.conf
# lighttpd configuration file
#
## modules to load
# all other module should only be loaded if really neccesary
# - saves some time
# - saves memory
server.modules = (
# "mod_rewrite",
# "mod_redirect",
# "mod_alias",
# "mod_auth",
# "mod_status",
# "mod_setenv",
"mod_fastcgi",
# "mod_proxy",
# "mod_simple_vhost",
# "mod_cgi",
# "mod_ssi",
# "mod_usertrack",
# "mod_expire",
# "mod_webdav"
)
# force use of the "write" backend (closes: #2401)
server.network-backend = "write"
## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = "/opt/share/www/"
## where to send error-messages to
server.errorlog = "/opt/var/log/lighttpd/error.log"
## files to check for if .../ is requested
index-file.names = ( "index.html", "default.html", "index.htm", "default.htm", "index.php" )
## mimetype mapping
mimetype.assign = (
".pdf" => "application/pdf",
".class" => "application/octet-stream",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jpg" => "image/jpeg",
".jpeg"=> "image/jpeg",
".png" => "image/png",
".svg" => "image/svg+xml",
".css" => "text/css",
".html"=> "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml"
)
## Use the "Content-Type" extended attribute to obtain mime type if possible
#mimetypes.use-xattr = "enable"
## send a different Server: header
## be nice and keep it at lighttpd
#server.tag = "lighttpd"
$HTTP["url"] =~ "\.pdf[ DISCUZ_CODE_6 ]quot; {
server.range-requests = "disable"
}
##
# which extensions should not be handle via static-file transfer
#
# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
######### Options that are good to be but not neccesary to be changed #######
## bind to port (default: 80)
server.port = 88
## bind to localhost (default: all interfaces)
#server.bind = "localhost"
## error-handler for status 404
#server.error-handler-404 = "/error-handler.html"
#server.error-handler-404 = "/error-handler.php"
## to help the rc.scripts
server.pid-file = "/var/run/lighttpd.pid"
###### virtual hosts
##
## If you want name-based virtual hosting add the next three settings and load
## mod_simple_vhost
##
## document-root =
## virtual-server-root + virtual-server-default-host + virtual-server-docroot or
## virtual-server-root + http-host + virtual-server-docroot
##
#simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
#simple-vhost.default-host = "grisu.home.kneschke.de"
#simple-vhost.document-root = "/pages/"
##
## Format: <errorfile-prefix><status>.html
## -> ..../status-404.html for 'File not found'
#server.errorfile-prefix = "/www/error-"
## virtual directory listings
#server.dir-listing = "enable"
## send unhandled HTTP-header headers to error-log
#debug.dump-unknown-headers = "enable"
### only root can use these options
#
# chroot() to directory (default: no chroot() )
#server.chroot = "/"
## change uid to <uid> (default: don't care)
#server.username = "nobody"
#
server.upload-dirs = ( "/opt/tmp" )
## change uid to <uid> (default: don't care)
#server.groupname = "nobody"
#### compress module
#compress.cache-dir = "/dev/null/"
#compress.filetype = ("text/plain", "text/html")
#### proxy module
## read proxy.txt for more info
#proxy.server = (
# ".php" => (
# "localhost" => (
# "host" => "192.168.0.101",
# "port" => 80
# )
# )
#)
#### fastcgi module
## read fastcgi.txt for more info
fastcgi.server = (
".php" => (
"localhost" => (
"socket" => "/opt/tmp/php-fastcgi.socket",
"bin-path" => "/opt/bin/php-fcgi"
)
)
)
#### CGI module
#cgi.assign = ( ".pl"=> "/opt/bin/perl", ".cgi" => "/opt/bin/perl" )
#### SSL engine
#ssl.engine = "enable"
#ssl.pemfile = "server.pem"
#### status module
#status.status-url = "/server-status"
#status.config-url = "/server-config"
#### auth module
## read authentification.txt for more info
#auth.backend = "plain"
#auth.backend.plain.userfile = "lighttpd.user"
#auth.backend.plain.groupfile = "lighttpd.group"
#auth.require = (
# "/server-status" => (
# "method"=> "digest",
# "realm" => "download archiv",
# "require" => "group=www|user=jan|host=192.168.2.10"
# ),
# "/server-info" => (
# "method"=> "digest",
# "realm" => "download archiv",
# "require" => "group=www|user=jan|host=192.168.2.10"
# )
#)
#### url handling modules (rewrite, redirect, access)
#url.rewrite = ( "^/[ DISCUZ_CODE_6 ]quot; => "/server-status" )
#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )
#### both rewrite/redirect support back reference to regex conditional using %n
#$HTTP["host"] =~ "^www\.(.*)" {
# url.redirect = ( "^/(.*)" => "http://%1/$1" )
#}
#### expire module
#expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")
#### ssi
#ssi.extension = ( ".shtml" )
#### setenv
#setenv.add-request-header= ( "TRAV_ENV" => "mysql://user@host/db" )
#setenv.add-response-header = ( "X-Secret-Message" => "42" )
#### variable usage:
## variable name without "." is auto prefixed by "var." and becomes "var.bar"
#bar = 1
#var.mystring = "foo"
## integer add
#bar += 1
## string concat, with integer cast as string, result: "www.foo1.com"
#server.name = "www." + mystring + var.bar + ".com"
## array merge
#index-file.names = (foo + ".php") + index-file.names
#index-file.names += (foo + ".php")
#### include
#include /opt/etc/lighttpd/lighttpd-inc.conf
## same as above if you run: "lighttpd -f /opt/etc/lighttpd/lighttpd.conf"
#include "lighttpd-inc.conf"
#### include_shell
#include_shell "echo var.a=1"
## the above is same as:
#var.a=1
#### webdav
#$HTTP["url"] =~ "^/webdav($|/)" {
# webdav.activate = "enable"
# webdav.is-readonly = "enable"
# webdav.sqlite-db-name = "/opt/var/run/lighttpd-webdav-lock.db"
#}
修改etc/php.ini内容如下
zend.ze1_compatibility_mode = Off
; Language Options
engine = On
;short_open_tag = Off
precision =12
y2k_compliance = On
output_buffering = Off
;output_handler =
zlib.output_compression = Off
;zlib.output_compression_level = -1
;zlib.output_handler =
implicit_flush = Off
unserialize_callback_func =
serialize_precision = 100
;open_basedir =
disable_functions =
disable_classes =
; Colors for Syntax Highlighting mode.Anything that's acceptable in
; <span style="color: ???????"> would work.
;highlight.string= #DD0000
;highlight.comment = #FF9900
;highlight.keyword = #007700
;highlight.bg = #FFFFFF
;highlight.default = #0000BB
;highlight.html = #000000
;ignore_user_abort = On
;realpath_cache_size = 16k
;realpath_cache_ttl = 120
; Miscellaneous
expose_php = On
; Resource Limits
max_execution_time = 30 ; Maximum execution time of each script, in seconds.
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data.
;max_input_nesting_level = 64
memory_limit = 8M ; Maximum amount of memory a script may consume.
; Error handling and logging
; Error Level Constants:
; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0)
; E_ERROR - fatal run-time errors
; E_RECOVERABLE_ERROR- almost fatal run-time errors
; E_WARNING - run-time warnings (non-fatal errors)
; E_PARSE - compile-time parse errors
; E_NOTICE - run-time notices (these are warnings which often result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to an
; empty string)
; E_STRICT - run-time notices, enable to have PHP suggest changes
; to your code which will ensure the best interoperability
; and forward compatibility of your code
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
; initial startup
; E_COMPILE_ERROR - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
; E_USER_NOTICE - user-generated notice message
; E_DEPRECATED - warn about code that will not work in future versions
; of PHP
; E_USER_DEPRECATED - user-generated deprecation warnings
;
; Common Values:
; E_ALL & ~E_NOTICE(Show all errors, except for notices and coding standards warnings.)
; E_ALL & ~E_NOTICE | E_STRICT(Show all errors, except for notices)
; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR(Show only errors)
; E_ALL | E_STRICT(Show all errors, warnings and notices including coding standards.)
; Default Value: E_ALL & ~E_NOTICE
error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT
display_errors = On
display_startup_errors = Off
log_errors = Off
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
;report_zend_debug = 0
track_errors = Off
;html_errors = Off
;docref_root = "/phpmanual/"
;docref_ext = .html
;error_prepend_string = "<font color=#ff0000>"
;error_append_string = "</font>"
; Log errors to specified file.
;error_log = /opt/var/log/php_errors.log
; Log errors to syslog.
;error_log = syslog
; Data Handling
;arg_separator.output = "&"
;arg_separator.input = ";&"
variables_order = "EGPCS"
request_order = "GP"
register_globals = Off
register_long_arrays = Off
register_argc_argv = On
auto_globals_jit = On
post_max_size = 8M
;magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
;default_charset = "iso-8859-1"
;always_populate_raw_post_data = On
; Paths and Directories
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
doc_root = "/opt/share/www"
user_dir =
extension_dir = "/opt/lib/php"
enable_dl = On
;cgi.force_redirect = 1
;cgi.nph = 1
;cgi.redirect_status_env = ;
cgi.fix_pathinfo=1
;fastcgi.impersonate = 1;
;fastcgi.logging = 0
;cgi.rfc2616_headers = 0
; File Uploads
file_uploads = On
upload_tmp_dir = "/opt/tmp"
upload_max_filesize = 2M
max_file_uploads = 20
; Fopen wrappers
allow_url_fopen = On
allow_url_include = Off
;from="john@doe.com"
;user_agent="PHP"
default_socket_timeout = 60
;auto_detect_line_endings = Off
; Dynamic Extensions
extension=ctype.so
extension=curl.so
;extension=dom.so
;extension=exif.so
;extension=ftp.so
extension=gd.so
;extension=gmp.so
;extension=hash.so
;extension=iconv.so
;extension=json.so
;extension=ldap.so
extension=mbstring.so
;extension=mcrypt.so
extension=mysql.so
;extension=openssl.so
;extension=pcre.so
extension=pdo.so
extension=pdo-mysql.so
;extension=pdo-pgsql.so
;extension=pdo_sqlite.so
;extension=pgsql.so
extension=session.so
;extension=soap.so
extension=sockets.so
;extension=sqlite.so
;extension=sqlite3.so
extension=tokenizer.so
extension=xml.so
extension=xmlreader.so
;extension=xmlwriter.so
; Module Settings
apc.enabled = 1
apc.shm_segments = 1 ;The number of shared memory segments to allocate for the compiler cache.
apc.shm_size = 4M ;The size of each shared memory segment.
;date.timezone =
;date.default_latitude = 31.7667
;date.default_longitude = 35.2333
;date.sunrise_zenith = 90.583333
;date.sunset_zenith = 90.583333
;filter.default = unsafe_raw
;filter.default_flags =
;iconv.input_encoding = ISO-8859-1
;iconv.internal_encoding = ISO-8859-1
;iconv.output_encoding = ISO-8859-1
;sqlite.assoc_case = 0
;sqlite3.extension_dir =
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 2000
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
session.save_handler = files
session.save_path = "/opt/tmp"
session.use_cookies = 1
;session.cookie_secure =
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = On
session.bug_compat_warn = On
session.referer_check =
session.entropy_length = 0
;session.entropy_file = /dev/urandom
session.entropy_file =
;session.entropy_length = 16
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 4
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
;mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http_output = SJIS
;mbstring.encoding_translation = Off
;mbstring.detect_order = auto
;mbstring.substitute_character = none;
;mbstring.func_overload = 0
;mbstring.strict_detection = Off
;mbstring.http_output_conv_mimetype=
;mbstring.script_encoding=
;gd.jpeg_ignore_warning = 0
;exif.encode_unicode = ISO-8859-15
;exif.decode_unicode_motorola = UCS-2BE
;exif.decode_unicode_intel = UCS-2LE
;exif.encode_jis =
;exif.decode_jis_motorola = JIS
;exif.decode_jis_intel = JIS
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/opt/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
;sysvshm.init_mem = 10000
ldap.max_links = -1
;mcrypt.algorithms_dir=
;mcrypt.modes_dir=
最后一步: /opt/etc/init.d/S70mysqld restartopt/etc/init.d/S80lighttpd restart
远程访问
opkg install nano
nano /jffs/scripts/firewall-start
复制以下代码
#!/bin/sh
iptables -I INPUT -p tcp --destination-port 88 -j ACCEPT
按CTRL+0保存,然后回车,然后按CTRL+X退出。最后PUTTY输入命令。chmod a+rx/jffs/scripts/firewall-start然后去路由器设置页面,外部网络----端口转发
本帖最后由 jsllb1986 于 2015-4-19 10:32 编辑
http://xywicp.wicp.net:88/bbshttp://xywicp.wicp.net:88
http://xywicp.wicp.net:88/x
jsllb1986 发表于 2015-4-17 14:19
http://xywicp.wicp.net:88/bbshttp://xywicp.wicp.net:88
http://xywicp.wicp.net:88/x
好贴,必须顶起 装这些东西不难,问题是装了干啥…… 按照你说的无法安装EMLOG,显示无法连接数据库2002错误,楼主看下怎么回事
页:
[1]