显示标签为“Amazon EC2”的博文。显示所有博文
显示标签为“Amazon EC2”的博文。显示所有博文

2011年12月6日星期二

WordPress on Amazon Web Services (AWS) Linux EC2 Micro Instance, For Free








WordPress on Amazon Web Services (AWS) Linux EC2 Micro Instance, For Free


I’ve been wanting to get a write up done for WordPress on AWS, the fact that it is free for a year, since they’ve released the free-tier many months ago. Well I finally got around to it, however it isn’t a write up. I went ahead and put the work in to produce a video of the steps for setup & configuration. Enjoy.
The commands to install php, mysql, httpd (apache), and manipulate the config files are included below for copy and paste needs.

Create a Linux Instance on AWS – create & assign an IP Address
Login with ‘ec2-user’
sudo -i
lsof -i
yum -y install httpd
service httpd start
yum -y install php mysql
yum install mysql-server
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
yum install phpmyadmin
vi /etc/httpd/conf.d/phpmyadmin.conf
Hit insert hey to make changes to the conf file.
————————————————————————————
# Web application to manage MySQL
# Order Deny,Allow
# Deny from all
Allow from all
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin
————————————————————————————
service httpd restart
service mysqld start
/usr/bin/mysqladmin -u root password 'somepassword’
vi /usr/share/phpmyadmin/config.inc.php
————————————————————————————
[...] /* Authentication type */
$cfg['Servers'][$i]['auth_type'] = ‘http’;
[...]
————————————————————————————
Watch the video for the WordPress Database creation in mysql w/ phpmyadmin.
wget http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz -C /var/www/html/
cp -avr /var/www/html/wordpress/* /var/www/html/
rm -rf /var/www/html/wordpress/
cd /etc/httpd/conf
vi httpd.conf
Find the user here… it should be ‘apache’
cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
vi /var/www/html/wp-config.php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');


/** MySQL database username */
define('DB_USER', 'wordpressuser');
/** MySQL database password */
define('DB_PASSWORD', 'password_here');
/** MySQL hostname */
define('DB_HOST', 'localhost');




Add the database settings.
chown -R apache /var/www/html
chmod -R 755 /var/www/html

Amazon EC2学习笔记——LNMP的安装


Amazon EC2学习笔记——LNMP的安装

前言

上一篇笔记介 绍了Giroro搭建EC2 Instance的一些心得,那么接下来就应该开始安装数据库,Web服务器等应用了。在这里Giroro选择的是使用LNMP一键安装包来搭建 Nginx+MySQL+PHP的环境,之后再在这个环境上面搭建包括WordPress在内的各种PHP应用。

正文

对于LNMP的版本,Giroro选择的是LNMP.org的安装包。其实官方网站上已经有详细的安装文档了,不过对于我们的EC2 Instance,还是应该具体情况具体分析的。
1. 下载LNMP一键安装包
wget -c http://soft.vpser.net/lnmp/lnmp0.6.tar.gz
2. 解压LNMP一键安装包
tar zxvf lnmp0.6.tar.gz
3. 执行自动安装脚本

cd lnmp0.6/
./centos.sh
这里有一点要注意,因为这个instance性能十分有限,所以这个安装过程通常需要花费几个小时之久,如果一旦中途断线就前功尽弃了,Giroro就因为这个原因重装了两次LNMP……
那怎么解决这个问题呢?也许有人会想到用nohup,无错,Giroro第一反应也是用 nohup命令。但是由于这个安装脚本需要输入一些参数,所以nohup就无法胜任了。所幸折腾了一番之后,通过Google大神的帮助,Giroro找 到了解决之法——screen命令。
由于系统并没有自带screen命令,所以我们需要先安装。
yum install screen
然后新建一个screen,用于执行自动安装脚本。
screen
这样就可以在这个screen中运行安装脚本了,即使你的SSH客户端断开安装过程也不会受到影响。
如果你不想观看那些刷屏的log,大可按下Ctrl+A+D离开当前的screen。等到想了解安装进度的时候运行screen -ls,记下screen的pid,再运行screen –r pid即可返回该screen。
如果想要彻底关闭screen,直接输入exit即可。
关于screen的更多介绍可以参考这篇文章。
安装时首先会提示你输入域名,其实这里保持默认就好了,因为这里的域名只是显示在探针上的。
然后会提示你输入MySQL的root密码,默认是root,不过这里最好还是改掉。有一点要注意的是,这里是可以输入特殊字符的,比如括号之类,但是phpmyadmin貌似对特殊字符支持不是很好,所以还是输入大小写英文字母加数字吧。
之后就是无尽的log和无尽的等待,建议睡前跑下这个脚本,然后上床睡觉去……
安装完成之后,可以根据需要选择安装 eAccelerator,ionCube,PureFTPd或VsFTPD,Giroro只安装了前两项,因为Giroro没打算把这个 instance当作FTP服务器来用,如果只是单纯想上传文件的话直接使用SFTP协议连接服务器即可。
4. 虚拟主机管理
运行./root/vhost.sh来绑定域名。其实这个脚本最终会在/usr/local/nginx/conf/vhost这个目录下生成一个对应绑定的域名的配置文件,所以如果这里出错了日后可以手动修改这个配置文件。
第一步,输入要绑定的主域名(由于我之前已经绑定过了www.giroro.com,所以这里会提示域名已存在,请无视之)。
第二步,如果需要绑定其他域名,输入y,继续输入要绑定的域名。
第三步,输入网站的主目录,默认是/home/wwwroot/域名,保持默认即可。
第四步,选择是否启用伪静态规则,如果启用,输入y,LNMP已经自带了一些规则,这里我输入了wordpress。
第五步,选择是否启用日志,建议输入n。
到这里,LNMP的安装就基本完成了。下面是一些可能会对你有用的信息:
LNMP状态管理:
/root/lnmp {start|stop|reload|restart|kill|status}
LNMP相关目录:
MySQL: /usr/local/mysql
PHP : /usr/local/php
Nginx : /usr/local/nginx
5. 一点点扫尾工作
安装完LNMP不代表一切都搞定了,因为要向/home/wwwroot目录下上传文件需要 使用www用户登录。而如果你直接用PuTTY或者Tunnelier并试图用www用户登录时,一定会遇到一个名 为”SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE”的错误。这是因为Amazon EC2 Instance是使用密钥对进行登录的,而在创建instance时,我们下载了一个密钥,对应的另一个密钥则存储在ec2-user的文件夹里。因此 当使用www用户登录时,就会因为缺少密钥而无法登录。解决方法很简单,在/home/www目录下建立一个.ssh目录(不要漏掉了开头那个点),然后 输入以下命令即可(注意文件权限,owner和group都应该是www)。
cp /home/ec2-user/.ssh/authorized_keys /home/www/.ssh/

待续

好了,到这里,安装LNMP的部分就结束了。接下来的几篇笔记里,我会继续介绍在LNMP上安装WordPress的一些心得。

2011年11月27日星期日

使用免费的amazon EC2 服务部署SSH翻墙

使用免费的amazon EC2 服务部署SSH翻墙

原文:http://lianlay.com/?p=128

在开始阅读本篇文章的时候我假定你已经成功注册了amazon ec2的服务,并且开启了一个免费的实例。
这方面在网上的现成的教程比较多,请同学们自行查找。
下面是如何利用这个免费的实例搭建一个ssh代理服务从而实现翻墙。
第一步: 登陆到你的ec2服务器修改sshd配置文件
cd /etc/ssh //进到ssh目录
cp sshd_config sshd_config.bak //备份一下一下源配置文件
sudo vi sshd_config //修改配置文件
找到AllowTcpForwarding 改为yes 允许TCP转发
AllowTcpForwarding yes //允许TCP转发
因为Amazon默认使用比较安全证书方式进行登陆, 但是如果大家自己aws的免费配额使用不完希望分配其他的同学使用,
那么再让那些同学密码进行登录是个比较省事儿的方法.
如果如果你想这么做的话,可以在里面修改成为密码登陆方式,但是你必须知道密码登陆方式没有密钥方式相对安全。
在配置文件里面找到PasswordAuthentication 项改为yes 就可以改为密码登录方式
PasswordAuthentication yes //LL就是采用的这种方式,可以省掉不少麻烦
保存退出sshd文件
执行下面这行代码重启sshd服务使之生效
sudo /etc/init.d/sshd restart
第二步: 建立一个专门用于链接ssh的账户组
sudo groupadd ec2ssh //建立ec2ssh用户组
sudo useradd -d /home/ec2ssh -m -g ec2ssh -s /bin/false ec2ssh //增加用户ec2ssh并且创建一个ec2ssh的目录并且属于组ec2ssh并且禁止shell
这里一定要禁掉shell以降低安全问题,以后给自己的同学和朋友建立账户的时候就可以了。
当然要记得给你新建的账户改密码
sudo passwd ec2ssh
第三步: 客户端配置
推荐下载一个客户端Tunnelier http://www.bitvise.com/
填入host和端口号: 就是你部署的ssh服务器地址
右面填入用户名
initial method 选择password 填入密码

再到option选项卡,勾掉Open Terminal 和 Open SFTP




在到service里面 enable proxy forwarding 设置interface和port

在这里设置的127.0.0.1:8888就是对应要设置到浏览器里面的值。
设置好后,点击界面最低端的login可以查看是否可以成功连接到服务器。
然后通过设置好的浏览器就可以上网了。
这里提一句请选择可以支持socks5的代理。Tunnelier 官方说对http代理支持的有问题。
这方面在网上的现成的教程也比较多,请同学们自行查找。
PS: 由于国情所致,从国内的部分网络到aws有时候会不稳定。
建议这种方式配合之前文章介绍的Goagent共同使用。
AWS Free Tier正好补足了GAE流量上的限制。GAE也弥补了AWS时而不稳定的缺陷。
查看GAE翻墙教程 http://lianlay.com/?p=123
一些注意事项
AWS Free Usage Tier (Per Month):
750 hours of Amazon EC2 Linux Micro Instance usage (613 MB of memory and 32-bit 
and 64-bit platform support) – enough hours to run continuously each month
* 750 hours of an Elastic Load Balancer plus 15 GB data processing
* 10 GB of Amazon Elastic Block Storage, plus 1 million I/Os and 1 GB of snapshot 
storage
* 5 GB of Amazon S3 standard storage, 20,000 Get Requests, and 2,000 Put
 Requests
* 15 GB of bandwidth out aggregated across all AWS services
* 25 Amazon SimpleDB Machine Hours and 1 GB of Storage** 100,000 Requests of 
Amazon Simple Queue Service
* 100,000 Requests, 100,000 HTTP notifications and 1,000 email 
notifications for Amazon Simple Notification Service*
* 10 Amazon Cloudwatch metrics, 10 alarms, and 1,000,000 API requests**  
针对于我们使用的EC2重点如下:
对于Amazon EC2的free tier包括每月750小时的micro instance(linux) micro内存。24*31=744 正好是一个月。
Free Tier包含每月各15GB的上传下载
免费EBS容量为10GB 含1 GB 快照容量,1百万次I/Os
详细内容这里看 http://aws.amazon.com/free/