本帖最后由 jsllb1986 于 2015-4-17 14:13 编辑
第一,想办法把U盘格式化成EXT3格式(可以用minitool分区向导),也可以自行百度用命令格式化。
第二,格式化成EXT3后,挂载上U盘。
第三,安装entware
ssh进入路由器输入命令
第四,安装完成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/tmp
复制代码- chmod -R 777 /mnt/sda1/data
复制代码 #对应上面的填写,并确保目录及其父目录的权限都是0777。
第六,创建默认的数据库- /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内容如下
- [PHP]
- 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]
- 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]
- ;date.timezone =
- ;date.default_latitude = 31.7667
- ;date.default_longitude = 35.2333
- ;date.sunrise_zenith = 90.583333
- ;date.sunset_zenith = 90.583333
- [filter]
- ;filter.default = unsafe_raw
- ;filter.default_flags =
- [iconv]
- ;iconv.input_encoding = ISO-8859-1
- ;iconv.internal_encoding = ISO-8859-1
- ;iconv.output_encoding = ISO-8859-1
- [sqlite]
- ;sqlite.assoc_case = 0
- [sqlite3]
- ;sqlite3.extension_dir =
- [Pdo_mysql]
- pdo_mysql.cache_size = 2000
- pdo_mysql.default_socket=
- [MySQL]
- 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
- [PostgresSQL]
- 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]
- 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]
- ;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]
- ;gd.jpeg_ignore_warning = 0
- [exif]
- ;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]
- soap.wsdl_cache_enabled=1
- soap.wsdl_cache_dir="/opt/tmp"
- soap.wsdl_cache_ttl=86400
- soap.wsdl_cache_limit = 5
- [sysvshm]
- ;sysvshm.init_mem = 10000
- [ldap]
- ldap.max_links = -1
- [mcrypt]
- ;mcrypt.algorithms_dir=
- ;mcrypt.modes_dir=
复制代码
最后一步:- /opt/etc/init.d/S70mysqld restart
复制代码- opt/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 然后去路由器设置页面,外部网络----端口转发
|