一直在用OpenMediaVault做NAS系统。这几天更新升级有些问题,正好新加了块盘,寻思干脆重装一遍。没想到灾难来了,根本装不了。 一查之下,原来OMV的官网被墙了。 改用sourceforge的源后,还是会各种报错。 总之搞不懂盖墙的人的想法,这种也会被墙也真是哔了狗了。 祸不单行,现有的RAID5阵列也出了问题。添加进去一个盘,reshape正常,但重启后直接就变成spare了。再次添加,这下好了,整个阵列直接fail。
据说VPS通过root直接通过SSH登录不安全,好一些的方法是新建一个新用户,需要时用sudo来提权并执行命令。关于这一点我并不是很确,不过方法是搞定了,Debian 8下面做法是这样的:
前一篇写了下怎么用站点网络功能,在一个Wordpress安装上建立多个分站,不过分站只能绑定到二级域名,这样意义就不大了。怎么绑定到一级域名呢? 网上查了一下,要用一个Domain Mapping插件,可是这个插件貌似与新版Wordpress兼容性不大好。恰好找到这个帖子,不用插件也可以绑定!(可能需要先保证Pretty Permalink正常使用)具体说来这么几步:
WordPress 3.0+版本支持MultiSite,站点网络功能,也就是安装一份Wordpress,就可以弄出多个WP站点来,就像新浪博客那样。 默认情况下可以支持sub-domain(二级域名)和sub-directory(子目录)两种方式。官方文档提供了Apache的配置方式,nginx的配置文档要在nginx官网找。试了一下sub-domain模式,非常简单。
1、PHP配置 disable_functions = show_source,phpinfo,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority
之前的配置文件总有这样那样的问题。 经过反复测试,现在这样写: location /wp-content/uploads/ { #只有jpg/jpeg/png/gif文件可以被访问,其它的一律403。 if ($request_filename !~* \.(jpg|jpeg|gif|png)$) { return 403; } #只写上面一段的话,php还是会被解析运行,大概是优先级的问题,还得写下面这句才行 location ~* .*.(php|cgi|sh|py|pl|jsp|asp)$ { deny all; } } 这样一来,只有jpg/jpeg/png/gif文件可以被访问,其它的一律403。
nginx官网提供了常用blog/cms等系统的示例配置文件。Wordpress的在这里。 基础的是这样: server { ## Your website name goes here. server_name domain.tld; ## Your only path reference. root /var/www/wordpress; ## This should be in your…
前面文章里提过open_basedir来保平安,但那个是写在一句里的,对整个服务器而言的设置。 PHP5.3支持对每个虚拟主机设置不同的open_basedir。感觉安全性又高了一层。 这样搞: vim /etc/php5/fpm/php.ini 你机子上的php.ini可能不在这个位置,反正改php.ini就对了。 找到open_basedir这一条,改成下面这种格式: [HOST=www.aaa.com] open_basedir=/usr/share/nginx/html/aaacom/:/tmp/:/proc/ [HOST=/home/www/www.bbb.com] open_basedir=/usr/share/nginx/html/bbbcom:/tmp/:/proc/ 当然,如果你的机器只跑一个网站那也就没必要了。
墙现在是越砌越高了。其实咱倒不是说反对过滤,但是我国的墙水平还是太低,没法精准过滤,走的又是“宁可错杀一千不可放过一个”的路线。经常把人畜无害的也给一起墙了。比如reCaptcha,就是躺墙的典型,非常影响正常使用。 现今有VPS的话,shadowsock是翻墙的好选择。在Debian8的官方源里面就有,不过版本有点老。部署最新版的方法如下:
使用XShell,我们可以通过SSL证书来完成与SSH服务器的认证。这种方式比直接输入密码要安全一些。弄起来也很简单。 1、菜单选择 工具-新建用户密钥生成向导,选择密钥类型。注意DSA只能选1024位及以下,超过1024位的服务器不认。RSA建议2048位。