科大freeshell的使用
FreeShell的基本设置
- 当然, 先是去注册了。 然后开通服务, 需要科大邮箱。其次下载putty, 使得在windows下有一个shell可以链接到linux虚拟主机. 在Putty中, 主机名填入:
s5.freeshell.ustc.edu.cn
, 端口号填入:10250
. 然后连接即可. 为了方便, 你可以保存为默认配置.登陆时用户名是root, 密码好像是发到邮箱的。
- 在Freeshell的管理面板中绑定三级域名: http://vanabel.freeshell.ustc.edu.cn/
- 命令自动补全: 用vi编辑bashrc(
vi .bashrc
), 在其中中加入:complete -c sudo
(学学vim语法就行了) - 修改root账户
- 由于新密码较长, 我们先修改下root密码:
passwd
会要求你输入(两次)新密码. 成功后可以用新密码登陆root账号. - 一般root权限太高, 往往怕误操作造成系统崩溃. 于是我们想禁用root登陆, 而用一个sudo用户来执行操作. 添加新用户 vanabel:
adduser vanabel
,
会要求输入密码(两次), 以及基本信息(可以不填) - 将vanabel添加sudo组:
adduser sudo
,现在你可以用vanabel登陆了. - 注意, 一担停用root账号, 你可能不能再启用.
停用root账号:passwd -l root
这样你就不能通过root账号来登陆了.
- 由于新密码较长, 我们先修改下root密码:
安装LNMP
LNMP就是一个套装, 包含了常用的服务器配置(nginx+mysql+php5).
按照这里的步骤安装LNMP: http://lnmp.org/install.html
我是用的脚步安装(非完全版):
- 下载安装脚本:
wget -c http://soft.vpser.net/lnmp/lnmp1.0.tar.gz
- 解压:
tar zxvf lnmp1.0.tar.gz
- 切换目录:
cd lnmp1.0
- 安装(Freeshell是Debian系统):
./debian.sh 2>&1 | tee lnmp.log
会要你选择地域(选择asia
并回车), 如果输入有错误,可以按住Ctrl再按Backspace键删除,以下均可采用此方法删除. 以及录入MySQL的root密码. 接下来都选y
. 等待大约半小时可以安装(编译)成功.
至此, 可以通过访问http://vanabel.freeshell.ustc.edu.cn/来确定安装成功.
WordPress的安装
- 下载wordpress中文版:
wget http://cn.wordpress.org/wordpress-3.7.1-zh_CN.tar.gz
请自行下载最新版 - 解压wordpress(注意默认下载到
root
目录下):tar zxvf wordpress-3.7.1-zh_CN.tar.gz -C /home/vanabel/
- 改写
wordpress
的权限:chmod 777 -R /home/vanabel/wordpress
- 创建WP数据库:
- 以root登陆 mysql:
mysql -u root -p
- 创建数据库以及用户:
123456CREATE DATABASE wordpress;CREATE USER vanabel;SET PASSWORD FOR vanabel = PASSWORD('[password]');GRANT ALL PRIVILEGES ON wordpress.* TO vanabel IDENTIFIED BY '[password]';FLUSH PRIVILEGES;quit
注意若需删除数据库, 只要使用drop database wordpress
即可删除刚才创建的数据库wordpress.
- 以root登陆 mysql:
安装Discuz
- 创建数据库, 完全类似前面:
123CREATE DATABASE discuz;FLUSH PRIVILEGES;quit - 下载Discuz 2.0(默认目录
root
):wget https://lnamp-web-server.googlecode.com/files/Discuz_X2_SC_UTF8.zip
- 新建discuz目录在(
/home/vanabel/
下):mkdir -p discuz
- 设置discuz的可写权限:
chmod 777 -R discuz
- 解压到
discuz
:unzip Discuz_X2_SC_UTF8.zip -d /home/vanabel/
- 请将upload文件夹中所有内容移到discuz下(移动完成后可以删除upload, readme以及utility). 这是为了和wp的结构保持一致使得到时配置路由是好配置.
nginx的配置
这个其实是我花时间最久的地方. 原来根本没搞懂虚拟主机的配置, 和nginx的配置的作用. 简单啰嗦两句: LNMP安装完毕后是通过添加虚拟主机来实现对不同的域名指定到不同的网站根目录的, 而且虚拟主机的配置文件都通过include加入到nginx.conf中(看nginx.conf最后一句), 但是freeshell没有给我更多的域名, 因此需要改变下方法. 我的办法就是通过提取网址中的标识符来定位不同的更目录. 这个只需要更改下nginx.conf的root, 而不需要创建虚拟主机.
我的预想是这样的, 如果访问的是:http://vanabel.freeshell.ustc.edu.cn/wordpress, 那么我们将root定位到/home/vanabel/wordpress/; 而当访问的是http://vanabel.freeshell.ustc.edu.cn/discuz时, 将root定位到/home/vanabel/discuz/.
- 修改nginx.conf: 将server修改为 (新增了ipv6支持, 使得校外可以访问)
12345678listen [::]:80 default_server;server_name vanabel.freeshell.ustc.edu.cn;index index.html index.htm index.php;if ( $host ~* ^vanabel.freeshell.ustc.edu.cn/(.+)(/.+)*$ ) {set $subdir $2;}root /home/vanabel/$subdir/;#后面一样未列出 - 重启nginx:
/etc/init.d/nginx restart
- 好了, 现在通过访问
http://vanabel.freeshell.ustc.edu.cn/wordpress
与
http://vanabel.freeshell.ustc.edu.cn/discuz
来安装WP与Discuz.
其他几点说明
-
由于LNMP默认禁用了函数
scandir
, 请按照lnmp安装主页的帮助文件进行修改. -
由于freeshell只支持ipv6的方式被校外访问, 需要修改下WP的默认
esc_url
, 请参考这里的解决方法. - 修改Discuz的logo:
1<h2><!--{if !isset($_G['setting']['navlogos'][$mnid])}--><a href="{if $_G['setting']['domain']['app']['default']}http://{$_G['setting']['domain']['app']['default']}/{else}./{/if}" title="$_G['setting']['bbname']">{$_G['style']['boardlogo']}</a><!--{else}-->$_G['setting']['navlogos'][$mnid]<!--{/if}--></h2>
改成:
1<h2><a href="./" title="LaTeXBookFi"><span style="font-weight: 700;font-size: 50px;text-shadow: #555 3px 5px 8px;letter-spacing: -15px;">LaTeXBookFi</span></a></h2>
若不能正常安装插件主题(要求提供ftp服务器账号,密码,主机名), 请修改wordpress的文件所有权使得和phpmyadmin的所有权一致:chown -R www wordpress. www就是phpadmin的用户, 这里我们将wordpress的所有权也改为www. 可以使用ls-l来查看文件所有权.
重装:
rm -f data/install.lock
unzip -p Discuz_X3.1_SC_UTF8.zip upload/install/index.php >../discuz/install/index.php