User Tools

Site Tools


guides:install:aws_ubuntu_server

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

guides:install:aws_ubuntu_server [2016/04/16 18:12] (current)
michaelc created
Line 1: Line 1:
 +20120806
  
 +<​code>​
 +
 +setup aws ubuntu server
 +
 +-----------------------
 +
 +sudo su
 +apt-get update
 +
 +apt-get install mysql-server mysql-client
 +apt-get install nginx
 +/​etc/​init.d/​nginx start
 +
 +apt-get install php5-fpm
 +
 +
 +
 +vi /​etc/​nginx/​nginx.conf
 +[...]
 +worker_processes ​ 5;
 +[...]
 +    keepalive_timeout ​  2;
 +[...]
 +
 +
 +vi /​etc/​nginx/​sites-available/​default
 +[...]
 +server {
 +        listen ​  80; ## listen for ipv4; this line is default and implied
 +        listen ​  ​[::​]:​80 default ipv6only=on;​ ## listen for ipv6
 +        root /​usr/​share/​nginx/​www;​
 +        index index.php index.html index.htm;
 +        # Make site accessible from http://​localhost/​
 +        server_name _;
 +        location / {
 +                # First attempt to serve request as file, then
 +                # as directory, then fall back to index.html
 +                try_files $uri $uri/ /​index.html;​
 +        }
 +        location /doc {
 +                root /usr/share;
 +                autoindex on;
 +                allow 127.0.0.1;
 +                deny all;
 +        }
 +        location /images {
 +                root /usr/share;
 +                autoindex off;
 +        }
 +        #error_page 404 /404.html;
 +        # redirect server error pages to the static page /50x.html
 +        #
 +        error_page 500 502 503 504 /50x.html;
 +        location = /50x.html {
 +                root /​usr/​share/​nginx/​www;​
 +        }
 +        # proxy the PHP scripts to Apache listening on 127.0.0.1:​80
 +        #
 +        #location ~ \.php$ {
 +        #       ​proxy_pass http://​127.0.0.1;​
 +        #}
 +        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:​9000
 +        #
 +        location ~ \.php$ {
 +                try_files $uri =404;
 +                fastcgi_pass 127.0.0.1:​9000;​
 +                fastcgi_index index.php;
 +                include fastcgi_params;​
 +        }
 +        # deny access to .htaccess files, if Apache'​s document root
 +        # concurs with nginx'​s one
 +        #
 +        location ~ /\.ht {
 +                deny all;
 +        }
 +}
 +[...]
 +
 +
 +Uncomment both listen lines to make nginx listen on port 80 IPv4 and IPv6.
 +
 +server_name _; makes this a default catchall vhost (of course, you can as well specify a hostname here like www.example.com).
 +
 +I've added index.php to the index line. root /​usr/​share/​nginx/​www;​ means that the document root is the directory /​usr/​share/​nginx/​www.
 +
 +The important part for PHP is the location ~ \.php$ {} stanza. Uncomment it to enable it.
 +
 +Now save the file and restart nginx:
 +
 +/​etc/​init.d/​nginx restart
 +
 +
 +
 +apt-cache search php5
 +
 +apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
 +
 +
 +/​etc/​init.d/​php5-fpm restart
 +
 +</​code>​
guides/install/aws_ubuntu_server.txt · Last modified: 2016/04/16 18:12 by michaelc