VPS配置小结

自从1月份租了这个空间之后前后加起来可能有半个月都在折腾这个,现在基本上告一段落,总结下吧…… Ramhost确实是个好VPS Host,当得起价廉物美这四个字。Customer Support是纯技术向那种,做事简单明快,好。 现在服务器上跑 nginx+cgi+离线下载+VPN占用内存大概70M左右,而且很稳定,一般来说应该可以跑一个月不用重启。

废话少说,进正题。

Ramhost的Ubuntu是光板,拿到什么都没有,连ssh都得自己装…… Windows下用 Putty做客户端,Mac可以直接用Terminal+SSH来登录。 用vz/vz连接到实机的Host上面,再用发过来的用户名+密码登录自己的VPS。

  1. 拿到手先建用户……
     useradd -m tony
     passwd tony
     nano /etc/sudoers
    

    加入一行

    tony ALL=(ALL) ALL

    然后nano /etc/passwd,把shell改成bash

  2. 装要跑的东西
     apt-get install ssh proftpd nginx php5-cgi spawn-fcgi php5-sqlite sqlite openvpn mldonkey-server unzip
    

    其中proftpd最好选 standalone,mldonkey一定不要用开机启动,因为开不了……

  3. ssh配置

    很简单

     nano /etc/ssh/sshd_config
    

    port改成随便其他什么端口

     PermitRootLogin no
    
  4. proftpd配置

    同样改端口 限制用户在自己的Home folder

     DefaultRoot ~
    

    限制指定用户在特定的Folder

     DefaultRoot /home/xxx xxx
    

    限制上传文件类型

     directory <xxx></directory>
     PathAllowFilter ".(xxx|XXX)"
    

    取消Shell限制

     RequireValidShell Off
    

    允许上传/下载续传

     AllowRetrieveRestart On
     AllowStoreRestart On
    
  5. mldonkey配置

    建议在自己的home下面执行一次然后kill掉,改配置文件。默认在~/.mldonkey里面,修改downloads.ini。

    ip 限制:0.0.0.0/0是允许任何ip访问

    port除了http之外都设成0

    max_hard_upload_rate 和max_hard_download_rate都设成0(无限制)

    改incoming_directories和incoming_files

    server.met建议用http://www.emule.org.cn/server.met

    ip blocking可以用http://upd.emule-security.net/ipfilter.zip

    然后重开mlnet & 进http://ip:4080 右上角输passwd xxx改密码

     groupadd users admin:false
    

    剩下的人扔users里面

  6. openvpn

    参照 http://forums.ramhost.org/bbs/viewtopic.php?id=4,除了改rc.local那里把–to改成 –to-source。

  7. nginx+fcgi

    fcgi装好之后

     /usr/bin/spawn-fcgi -f /usr/bin/php-cgi -a 127.0.0.1 -p 12345 -P /var/run/fastcgi-php.pid -u www-data -g www-data
    

    12345改成监听的端口号。

     nano /etc/nginx/sites-enabled/default
    

    listen改成自己的ip 不然跑wordpress会被redirect到localhost index那里加个index.php

    然后把fcgi那段删掉,换成

     location ~ .php$ {
       fastcgi_pass localhost:12345; //跟上面一样
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
       fastcgi_param QUERY_STRING $query_string;
       fastcgi_param REQUEST_METHOD $request_method;
       fastcgi_param CONTENT_TYPE $content_type;
       fastcgi_param CONTENT_LENGTH $content_length;
       fastcgi_param SCRIPT_NAME $fastcgi_script_name;
       fastcgi_param REQUEST_URI $request_uri;
       fastcgi_param DOCUMENT_URI $document_uri;
       fastcgi_param DOCUMENT_ROOT $document_root;
       fastcgi_param SERVER_PROTOCOL $server_protocol;
       fastcgi_param GATEWAY_INTERFACE CGI/1.1;
       fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
       fastcgi_param REMOTE_ADDR $remote_addr;
       fastcgi_param REMOTE_PORT $remote_port;
       fastcgi_param SERVER_ADDR $server_addr;
       fastcgi_param SERVER_PORT $server_port;
       fastcgi_param SERVER_NAME $server_name;
    
      # required if PHP was built with --enable-force-cgi-redirect
       fastcgi_param REDIRECT_STATUS 200;
     }
    

    最后

     sudo /etc/init.d/nginx restart
    
  8. 装wordpress
     wget http://wordpress.org/latest.tar.gz
    

    上pdo for wordpress拖最新的pdo

     http://wordpress.org/extend/plugins/pdo-for-wordpress
    
     tar xfvz latest.tar.gz
     unzip pdo\*
    

    然后把pdo里面的东西放到wordpress/wp-content 再把wordpress搬到www下面

    建数据库目录

     cd wp-content
     mkdir database
     chmod 777 database
     cd ..
    

    建立wp-config.php

     cp wp-config-sample.php wp-config.php
     nano wp-config.php
    

    加一行

     define('DB_TYPE', 'sqlite');
    

    最后 http://ip/blog/wp-admin/install.php

    装完了记得把install.php删掉

本文大量参考了observer兄的vps光板配置(http://obmem.com/?p=278),特此感谢

标签: ,

更新时间: