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!

Popular Posts