Skip to content

Instantly share code, notes, and snippets.

@blogui91
Created August 30, 2017 18:41
Show Gist options
  • Save blogui91/fbe11f3ae494150b01ce898dfdbe27bd to your computer and use it in GitHub Desktop.
Save blogui91/fbe11f3ae494150b01ce898dfdbe27bd to your computer and use it in GitHub Desktop.
Preparar Servidor NGINX, SERVER UBUNTU
  1. git init
  2. git remote add origin git@bitbucket.org:indexreynosa/website.git
  3. git pull origin master
  4. git branch --set-upstream-to=origin/master //Para que solo tenga que hacer git pull despues y no se muestren como modificados lso archivos
  5. composer install
  6. cp .env.example .env
  7. php artisan key:generate
  8. chown -R www-data.www-data /var/www/heddiefranco.com

Nota: primero generar las ssh keys en el servidor ssh-keygen -t rsa y luego agregarlas a mi cuenta de bitbucket https://bitbucket.org/account/user/HFranco_/ssh-keys/

Instalar composer:

  1. sudo apt-get install curl php5-cli git
  2. curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Configuracion para Name.com como registardor de dominios y DigitalOcean como Server 1.En el panel de administracion de dominio (name.com), editar los NameServer, quostar todos los que estan y poner los del servidor, en este caso los de digital ocean que son

ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com

2.Crear un nuevo record Domain: cyancode.com IP Adress: La ip del server Chose Droplet: El droplet LEMP creado (al seleccioanrlo se pone sola la ip del droplet)

First Header Second Header Second Header
A @ IP_DROPLET
CNAME www cyancode.com.
CNAME lab cyancode.com.
CNAME dev cyancode.com.
CNAME trueke cyancode.com.
NS ns1.digitalocean.com.
NS ns2.digitalocean.com.
NS ns3.digitalocean.com.
  1. Crear directorios por cada dominio y subdominio: https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-virtual-hosts-on-ubuntu-14-04-lts?utm_source=Customerio&utm_medium=Email_Internal&utm_campaign=Email_LEMPWelcome

mkdir -p /var/www/cyancode.com/

mkdir -p /var/www/dev.cyancode.com/

mkdir -p /var/www/lab.cyancode.com/

mkdir -p /var/www/trueke.cyancode.com/

4.Cambiamos permisos: (creo que con basta)

chown -R www-data.www-data /var/www/heddiefranco.com

chown -R $USER:$USER /var/www/cyancode.com/ (no es necesario)

  1. Copiamos el Server Block por default, lo abrimos y lo editamos:

cp /etc/nginx/sites-available/default /etc/nginx/sites-available/cyancode.com

nano /etc/nginx/sites-available/cyancode.com

6.Editamos las siguientes lineas:

root /var/www/cyancode.com;

server_name cyancode.com www.cyancode.com;

location = /50x.html {
		root /var/www/cyancode.com;
	}

Deberia quedar algo asi:

server {
        listen 80;
        listen [::]:80;

        root /var/www/cyancode.com;
        index index.php index.html index.htm;

        server_name cyancode.com www.cyancode.com;

        location / {
                try_files $uri $uri/ =404;
        }

        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }

}

server {
	COPIAR LO MISMO PARA LOS NUEVOS SUBDOMINIOS. SOLO CAMBIAR EL DIRECTORIO ROOT Y EL SERVER NAME
}

7.Repetimos lo mismo con cada subdominio cambiando cyancode.com por xxx.cyancode.com y el comienzo: listen 80; listen [::]:80; (O copiar lo mismo en el archivo del domino raiz (A))

8.Creas accesos directos para cuando nginx se reinicio que los inicie:

sudo ln -s /etc/nginx/sites-available/cyancode.com /etc/nginx/sites-enabled/

ln -s /etc/nginx/sites-available/dev.cyancode.com /etc/nginx/sites-enabled/

ln -s /etc/nginx/sites-available/lab.cyancode.com /etc/nginx/sites-enabled/

ln -s /etc/nginx/sites-available/trueke.cyancode.com /etc/nginx/sites-enabled/

9.No se para que per en la docu dice que descomentar una linea:

nano /etc/nginx/nginx.conf

Descomentar: server_names_hash_bucket_size 64;

  1. Eliminar acceso directo default de /etc/nginx/sites-enabled

Reiniciar nginx: service nginx restart

  1. apt-get install postfix
  2. General type of mail configuration: Internet Site
  3. System mail name: cyancode.com

No estoy seguro si lo ocupa: Editar linea myhostname = cyancode.com en /etc/postfix/main.cf

----------CREO QUE NO SE ENCESITA------------- //sudo nano /etc/postfix/virtual //admin@cyancode.com root

//apt-get install courier-pop //Create directories for web-based administration?: NO //apt-get install courier-imap

Instalar Mongo DB:

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Instalar el driver PHP

apt-get install php5-dev php5-cli php-pear -y

pecl install mongo

Agregar extension=mongo.so al /etc/php5/fpm/php.ini y reiniciar nginx service nginx restart y phph service php5-fpm restart

Crear usuarios:

use admin

db.createUser(
  {
    user: "myServerAdmin",
    pwd: "xxx",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
);

db.createUser(
  {
    user: "trueke",
    pwd: "yyy",
    roles: [ { role: "readWrite", db: "trueke" } ]
  }
);

Configurar para que solo se peuda acceder a mongo con autorizacion

nano /etc/mongod.conf

Cambia bind_ip = 127.0.0.1, por la IP del servidor, y aprovecha a cambiar el campo port = 27017 por otro diferente, para mayor seguridad

Descomentar #auth = true

Restart service mongod restart

  1. Crear Server LEMP en Digital Ocean

Dar permisos de subir archivos a carpeta:

Works chown www-data /var/www/trueke.cyancode.com/uploads

No es enecesario pero po si acasochgrp www-data /var/www/trueke.cyancode.com/uploads

Not works chown nobody /var/www/trueke.cyancode.com/uploads

Not works sudo chmod -R 0755 /var/www/trueke.cyancode.com/uploads

Git

  1. sudo apt-get update
  2. sudo apt-get install git

Laravel

Windows: 1.Instalar composer 2.Ir al directorio desde la consola y clonar el proyecto de Laravel

git clone https://github.com/laravel/laravel.git

3.Quitar la carpeta git

5.Correr composer install

4.Subir al repo (Toda la carpeta laravel y el composer.lock)

Ubuntu Server:

1.sudo apt-get install curl php5-cli git

2.curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

3.composer

Set up Git on your machine if you haven't already.

mkdir /path/to/your/project
cd /path/to/your/project
git init
git remote add origin git@bitbucket.org:HFranco_/trueke.cyancode.com.git

Create your first file, commit, and push

echo "Heddie Franco" >> contributors.txt
git add contributors.txt
git commit -m 'Initial commit with contributors'
git push -u origin master

Already have a Git repository on your computer? Let's push it up to Bitbucket.

cd /path/to/my/repo
git remote add origin git@bitbucket.org:HFranco_/trueke.cyancode.com.git
git push -u origin --all # pushes up the repo and its refs for the first time
git push -u origin --tags # pushes up any tags

On Nginx, the following directive in your site configuration will allow "pretty" URLs:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment