How to set up APM(Apache, MySQL, PHP), FTP on Amazon EC2 [Modified]
** You should open port 80,443, 2020, 13000-13100
* connect to your ec-2 server via ssh.
>sudo -s;
>yum update;
* Install vsFtpd
>yum install vsftpd
* Set vsFtpd up
>vi /etc/vsftpd/vsftpd.conf
-Modify
anonymous_enable=YES -> anonymous_enable=NO
-Uncomment
chroot_local_user=YES
-Add
listen_port=2020
pasv_enable=YES
pasv_min_port=13000
pasv_max_port=13100
pasv_address=Your Public IP Address
>/etc/init.d/vsftpd restart
* Add user for ftp & development
>adduser mark
>passwd mark
* modify permission
>chmod -x /home/mark
>su mark
>cd ~/
>mkdir www
>chmod -x www
* Install Apache, MySQL, PHP
>yum install httpd mysql mysql-server mysql-libs php php-mysql php-mcrypt php-xml php-gd php-mbstring php-cli mod_ssl;
*Start mysqld & set root password
>/etc/init.d/mysqld start;
>mysqladmin -uroot password 'your password';
*edit httpd.conf & start httpd(apache)
>vi /etc/httpd/conf/httpd.conf
-> DirectoryIndex index.php index.html
>/etc/init.d/httpd start
*Set Custom SSL
>mkdir /etc/httpd/ssl
>cd /etc/httpd/ssl
>openssl genrsa -des3 -out server.key 2048
>cp server.key server-pw.key
>openssl rsa -in server-pw.key -out server.key
>openssl req -new -key server.key -out server.csr
>openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
*set vhosts up
- Add line in /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
NameVirtualHost *:443
Include vhosts/*.conf
- Make directory
>mkdir /etc/httpd/vhosts
>cd /etc/httpd/vhosts
>vi sample.com.conf
<VirtualHost *:80>
ServerAdmin YourEmailAddress
DocumentRoot "/home/devapp/www/"
ServerAlias sample.com
ErrorLog "logs/sample.com-error_log"
CustomLog "logs/sample.com-access_log" common
HostNameLookups off
<Directory "/home/devapp/www/">
AllowOverride All
Options -Indexes
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
</VirtualHost>
<VirtualHost *:443>
ServerAdmin YourEmailAddress
DocumentRoot "/home/devapp/www/"
ServerAlias sample.com
ErrorLog "logs/sample.com-error_log"
CustomLog "logs/sample.com-access_log" common
HostNameLookups off
SSLEngine on
SSLCertificateFile ssl/server.crt
SSLCertificateKeyFile ssl/server.key
<Directory "/home/devapp/www/">
AllowOverride All
Options -Indexes
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
</VirtualHost>
* Keep running apache, mysqld, vsftpd
>sudo chkconfig --level 235 vsftpd on
>sudo chkconfig --level 235 mysqld on
>sudo chkconfig --level 235 httpd on
* Maybe, everthing is good for your web develop!
* connect to your ec-2 server via ssh.
>sudo -s;
>yum update;
* Install vsFtpd
>yum install vsftpd
* Set vsFtpd up
>vi /etc/vsftpd/vsftpd.conf
-Modify
anonymous_enable=YES -> anonymous_enable=NO
-Uncomment
chroot_local_user=YES
-Add
listen_port=2020
pasv_enable=YES
pasv_min_port=13000
pasv_max_port=13100
pasv_address=Your Public IP Address
>/etc/init.d/vsftpd restart
* Add user for ftp & development
>adduser mark
>passwd mark
* modify permission
>chmod -x /home/mark
>su mark
>cd ~/
>mkdir www
>chmod -x www
* Install Apache, MySQL, PHP
>yum install httpd mysql mysql-server mysql-libs php php-mysql php-mcrypt php-xml php-gd php-mbstring php-cli mod_ssl;
*Start mysqld & set root password
>/etc/init.d/mysqld start;
>mysqladmin -uroot password 'your password';
*edit httpd.conf & start httpd(apache)
>vi /etc/httpd/conf/httpd.conf
-> DirectoryIndex index.php index.html
>/etc/init.d/httpd start
*Set Custom SSL
>mkdir /etc/httpd/ssl
>cd /etc/httpd/ssl
>openssl genrsa -des3 -out server.key 2048
>cp server.key server-pw.key
>openssl rsa -in server-pw.key -out server.key
>openssl req -new -key server.key -out server.csr
>openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
*set vhosts up
- Add line in /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
NameVirtualHost *:443
Include vhosts/*.conf
- Make directory
>mkdir /etc/httpd/vhosts
>cd /etc/httpd/vhosts
>vi sample.com.conf
<VirtualHost *:80>
ServerAdmin YourEmailAddress
DocumentRoot "/home/devapp/www/"
ServerAlias sample.com
ErrorLog "logs/sample.com-error_log"
CustomLog "logs/sample.com-access_log" common
HostNameLookups off
<Directory "/home/devapp/www/">
AllowOverride All
Options -Indexes
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
</VirtualHost>
<VirtualHost *:443>
ServerAdmin YourEmailAddress
DocumentRoot "/home/devapp/www/"
ServerAlias sample.com
ErrorLog "logs/sample.com-error_log"
CustomLog "logs/sample.com-access_log" common
HostNameLookups off
SSLEngine on
SSLCertificateFile ssl/server.crt
SSLCertificateKeyFile ssl/server.key
<Directory "/home/devapp/www/">
AllowOverride All
Options -Indexes
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
</VirtualHost>
* Keep running apache, mysqld, vsftpd
>sudo chkconfig --level 235 vsftpd on
>sudo chkconfig --level 235 mysqld on
>sudo chkconfig --level 235 httpd on
* Maybe, everthing is good for your web develop!