Amazon EC2 Ubuntu折腾笔记(一)

注册Amazon Elastic Compute Cloud (EC2)也有好多天了,来回折腾了几次系统。最终还是觉得Ubuntu 10.10 server 比较顺手。Centos我真不会用。。。总结一下折腾纪录吧,也当是个自己的笔记。

目的:搭建标准的LAMP环境并安装Wordpress。

Amazon Elastic Compute Cloud (EC2)服务介绍:
Amazon EC2给新用户提供了为期1年的t1.micro的服务Free Tier免费试用。EC2服务可以当作就是一个VPS吧,只不过是在“云”里的,完全是按需、按时、按使用量计费。在使用和配置上跟普通VPS区别不大。

配置:
Micro Instance 613 MB of memory, up to 2 ECUs (for short periodic bursts), EBS storage only, 32-bit or 64-bit platform
750 hours of EC2 running Linux/Unix Micro instance usage
750 hours of Elastic Load Balancing plus 15 GB data processing
10 GB of Amazon Elastic Block Storage (EBS) plus 1 million IOs, 1 GB snapshot storage, 10,000 snapshot Get Requests and 1,000 snapshot Put Requests
15 GB of bandwidth in and 15 GB of bandwidth out aggregated across all AWS services

对于想拿来搭VPN或者Wordpress之类的博客平台,这个配置是完全够用的。关于注册的步骤,请网上搜索一下有很多图文并貌的。注:须验证Visa/MasterCard/AE信用卡、以及电话验证(会一个电话打过来,要求输入网页上的4位验证码)。进行以下步骤的前提是你已经注册好了EC2的账号了。

创建实例并选择系统镜像(AMI)
登陆AWS Management Consloe,切换到Amazon EC2,左上角有个Region,可以选择你要建立的实例位于哪里。有美国东岸、西岸、欧洲、新加坡,根据自己需要选择。选定后,点Launch instances,选择AMI(也就是系统镜像),在Community AMIs里面,类别是EBS images。输入099720109477可搜索到Ubuntu官方提供的镜像。我选择的是最新的:ubuntu-images/ubuntu-maverick-10.10-i386-server-20101225。

选择其他AMI的话,要注意AMI的大小,比如Suse是15G,Windows Server 2008是30G,因为Micro服务只有10G免费,所以不能选这些,超过会收费。Ubuntu是8G,完全没问题。点Select进行下一步。这一步注意Instance Type一定不要选错,只有Micro才有1年免费试用的优惠。其他选项可不做更改。接下来的几个步骤都无需做什么更改,默认即可。创建的Key Pair一定保存好,这个是你SSH登陆的唯一凭据。Security Groups也直接用default就行,完成后根据需要再做设置,开放必要的端口。然后等待一两分钟,你的系统就状态应该就是running了。前期工作就此完成,下面开始折腾。


开放必要端口:
在Security Groups里面,添加上SSH、HTTP、HTTPS、MYSQL需要的端口,PPTP VPN是1723,FTP是21。

连接服务器:
以Linux为例。Windows可用Putty连接,Key Pair需要转换之后才能用,教程请网上搜索。
ssh -i xxx.pem ubuntu@your Public DNS
xxx.pem就是你创建的Key Pair,Public DNS就是Instances信息下面的:ec2-******.us-west-1.compute.amazonaws.com

对服务进行配置:
sudo apt-get update
sudo apt-get upgrade #先对系统进行升级

安装LAMP
sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server php5
mysql安装过程中会要求输入root账号的密码。

安装curl
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-imap php5-xmlrpc

安装phpmyadmin
sudo apt-get install phpmyadmin

sudo a2enmod rewrite #启用mod_rewrite模块

到这里lamp基本上就安装完成了,其他模块根据需要安装。接下来可以对PHP和Apache进行一些简单配置。

sudo vi /etc/php5/apache2/php.ini

date.timezone= PRC
enable_dl = On
display_errors = On
upload_max_filesize = 4M
disable_functions = shell_exec, system, exec, passthru, show_source, proc_open, proc_close, dl

重启Apache服务
sudo /etc/init.d/apache2 restart

这时候你可以在浏览器上输入你的Public DNS,正常就能看到Apache已经在运行了。如果你绑定了域名,可以直接用域名访问。其实Public DNS中ec2-XX-XX-XX-XX的四段数字就是你的IP地址,你也可以用这个IP来绑定域名和SSH连接等。很多文章都说这个IP在系统重启后会改变,但是我试过多次,reboot后是不变的,相当于独立IP了。

修改apache设置,支持虚拟目录及多站点。
sudo vi /etc/apache2/sites-enabled/000-default
具体写法请参考Apache官方文档。记得把AllowOverride None改为All,否则不能用自定义的永久链接格式。

这样一台基本的网络服务器就已经搭建完成。接下来你就可以安装你的网络应用,论坛、博客、CMS等,再根据软件的需求,安装其他模块。你可以下一个PHP探针或者直接写个简单的PHP文件,检查自己的设置。

配置文件位置:
1>apache 的配置文件路径 /etc/apache2/apache2.conf
2>apache 网站字符编码配置路径 /etc/apache2/conf.d/charset
3>php.ini 路径 /etc/php5/apache2/php.ini
4>mysql配置文件 路径 /etc/mysql/my.cnf 一般不要使用,尤其是新手
5>phpmyadmin配置文件路径 /etc/phpmyadmin/apache.conf
6>默认网站根目录 /var/www

Mysql数据库可以直接登陆phpmyadmin来建立。
http://your-domain/phpmyadmin
用root登陆之后,新建一个数据库及用户,并赋予权限即可。

然后用wget命令下载wordpress最新版到服务器上:
sudo wget

解压:
sudo tar zxvf wordpress-3.0.5-zh_CN.tar.gz

再用http://your-domain/wp-admin/install.php来安装。wp-config.php可自动创建(注意目录权限)。

修改目录权限以安装Wordpress,我是用的虚拟目录。
sudo chown -R www-data.www-data inovo(你自己的目录名)

大功告成。其他的FTP和PPTP VPN我另外写篇日志来说。

关于 “Amazon EC2 Ubuntu折腾笔记(一)” 的 22 个意见

  1. 引用通告: 在Amazon EC2搭建WordPress博客 | 豆博草堂

    1. lanhl 文章作者

      404有可能是配置有误吧,你再检查下。出账单一般是因为某项超标了,有可能是I/O或者流量之类的。

      回复
  2. 引用通告: (转)在Amazon EC2搭建WordPress博客

  3. 引用通告: (转)博客迁移至Amazon EC2主机

  4. 引用通告: 新年新折腾——Amazon Web Service EC2

  5. 引用通告: 博客迁移至Amazon EC2主机

  6. 引用通告: 在Amazon EC2搭建WordPress博客

  7. 引用通告: 新年新折腾——Amazon Web Service EC2 | 王白石

  8. 引用通告: 在Amazon EC2搭建Wordpress博客 « 豆博草堂

  9. 引用通告: 豆博草堂 » Blog Archive » 在ec2上搭建wordpress博客

  10. 引用通告: 博客迁移至Amazon EC2主机 « Eric Wake

  11. 引用通告: Amazon EC2 Ubuntu折腾笔记(一) | 我的博客

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注