- Initial Server Setup with Ubuntu 12.04
- How To Install Linux, nginx, MySQL, PHP (LEMP) stack on Ubuntu 12.04
- A Basic MySQL Tutorial
- How To Install phpMyAdmin on a LEMP server
- How To Install Git on Ubuntu 12.04
- Generating SSH Keys and connect with DigitalOcean
- Install Composer on DigitalOcean
- Install php5-cli if you get stuck with installing Composer
- Install phpdotenv
- Tricky RVM installation on EC2
- Install Ruby >= 1.9 (RVM/Rbenv) for Bedrock and Capistrano dependencies
- Half way using this — How To Install Wordpress on Ubuntu 12.04 *for Multiple WPs skip here.
- Use Bedrock instead
- Nginx Server Block — remove default & restart services
- Update Bedrock to include Roots & increase php.ini memory_limit
Last active
December 27, 2024 22:09
-
-
Save ajmalafif/8124086 to your computer and use it in GitHub Desktop.
DigitalOcean — Bedrock + WordPress-Skeleton + Nginx + Roots Theme.
I had some complication when installing RVM on a fresh EC2 instance. Turned out when I do
$ echo $SHELL
I got /bin/sh
. So I had to switch to /bin/bash
and RVM installation was smooth.
http://superuser.com/questions/231735/how-do-i-change-my-default-shell-from-bash-to-zsh
$ composer install/ $ composer update
$ PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open():
fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:990
$ nano /etc/php5/fpm/php.ini
...
php_admin_value[memory_limit] = 128M # change this accordingly; I did 256M
$ service php5-fpm reload
$ composer update
Follow this tutorial until Step Six — Set Up Nginx Server Blocks: https://www.digitalocean.com/community/articles/how-to-install-wordpress-with-nginx-on-ubuntu-12-04
set $dir "";
if ($request_uri ~ ^/([^/]*)/.*$ ) {
set $dir1 /$1;
}
location / {
try_files $uri $uri/ $dir1/index.php?$args;
}
via source here.
# You may add here your
# server {
# ...
# }
# statements for each of your virtual hosts to this file
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /home/labs/bedrock/current/web/;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name 54.255.153.55;
# location / {
# try_files $uri $uri/ /index.html;
# }
# error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /home/labs/bedrock/current/web/;
}
# pass the PHP scripts to FastCGI server listening on the php-fpm socket
location ~ ^/assets/(img|js|css|fonts)/(.*)$ {
try_files $uri $uri/ /wp-content/themes/roots/assets/$1/$2;
}
location ~ ^/plugins/(.*)$ {
try_files $uri $uri/ /wp-content/plugins/$1;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Got this from my gist.github.com
# set $dir "";
# if ($request_uri ~ ^/([^/]*)/.*$ ) {
# set $dir1 /$1;
# }
# location / {
# try_files $uri $uri/ $dir1/index.php?$args;
# }
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
# location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
# }
# Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
#location /RequestDenied {
# proxy_pass http://127.0.0.1:8080;
#}
#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/html;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# 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;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# root html;
# index index.html index.htm;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
#
# root html;
# index index.html index.htm;
#
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
#
# ssl_session_timeout 5m;
#
# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
# ssl_prefer_server_ciphers on;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
Thanks for this checklist, if you'd be interested in offering suggestions to how SlickStack can better support Composer, Roots, and some of the other items here, please consider letting us know: https://github.com/littlebizzy/slickstack
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I added this before the installation of Composer