Skip to content

manviny/EC2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webmin + PW

  1. Crear servidor virtual
  2. descargar zip y descomprimir
  3. comentar linea #Options +FollowSymLinks
  4. configurar en el servidor usuario y BD
  5. Webmin > system > users and groups > añadir el grupo de la nueva web a el usuario ubuntu

(A) lamp bitnami ami, swap, df, odoo, webmin y configurarlo, restart, virtualmin
(B) dreamfactory AMI swap, odoo, webmin y configurarlo, restart, virtualmin
(C) LAMP bitnami AMI swap webmin virtualmin y luego DF u ODoo
(D) LAMP bitnami AMI swap ODoo webmin virtualmin y luego DF
**(E) Ubuntu -> LAMP(TASKSEL) swap ODoo webmin virtualmin y luego DF **
**(FUNCIONA) Ubuntu -> LAMP AMI Ubuntu 16.04 ODoo virtualmin **
(F) ubuntu, swap, vestacp, vesta, ODoo, DF
(G) UBUNTU, swap, ajenti(crear directorios, enable web y mail) => bitnami LAMP(8082) => , instalar seopanel, DF, Odoo

Virtualmin el local

ssh xabia@172.18.198.3
nano /etc/hosts
172.18.198.3 usuario.com
Al crear nuevo servidor virtual, poner nombre dominio y en IP address and forwarding -> External IP address

Osx terminal to ec2 cloud

sudo ssh -i ./awskey.pem ubuntu@IP
cd /home/yourweb/public_html
zip -r archive.zip .
copia BD
mysqldump -u user -p database > dbname.sql

actualizar mysql

mysql_upgrade -u root -p --force
systemctl restart mysqld

Execute Nightma js on Ubuntu 16.04 server

apt-get install -y libgtk2.0-0 libgconf-2-4 libasound2 libxtst6 libxss1 libnss3 xvfb
xvfb-run -a --server-args="-screen 0 1024x768x24" node [YOUR-SCRIPT.js]

UBUNTU 1GB, Bitnami LAMP, DF, Odoo,

Indice

Install Virtualmin on Ubuntu 16.04

sudo su
apt-get update && apt-get -y upgrade
# INCREMENTAR SWAP SI SOLO TENEMOS 1GB
wget http://software.virtualmin.com/gpl/scripts/install.sh
chmod +x install.sh
./install.sh
# add user  "myuser"
sudo adduser myuser
sudo usermod -a -G sudo myuser

INCREMENTAR SWAP

fuente

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

sudo nano /etc/fstab   #paste
    /swapfile   none    swap    sw    0   0
    
sudo nano /etc/sysctl.conf 
    vm.swappiness=10
    vm.vfs_cache_pressure=50

Restaurar webmin

nano /etc/webmin/miniserv.conf > sssl=0
/etc/init.d/webmin restart
systemctl status webmin.service

sudo nano /etc/webmin/miniserv.conf
#ipcert_subsite.contoso.com,.subsite.contoso.com=/home/contoso/ssl.cert
#ipkey_subsite.contoso.com,
.subsite.contoso.com=/home/contoso/ssl.key
sudo service webmin start

ZIP FOLDER AND SUBFOLDERS

fuente

zip -r foo.zip .

Estado Apache

sudo systemctl status apache2.service 
sudo apt-get install apache2

Reinstall Apache

sudo apt-get purge apache2 
sudo systemctl restart apache2

Soft link

ln -s /opt/lampstack/apps/PwAngular /opt/lampstack/apps/MyAPP/htdocs/site/modules 

Connect to DB through localhost

#MySQL y RockMongo mediante conexión puente


sudo ssh -N -L 8888:127.0.0.1:80 -i ~/.ssh/bitnami-hosting.pem bitnami@deployd.bitnamiapp.com

acceder a las bases de datos
http://127.0.0.1:8888/rockmongo/
http://127.0.0.1:8888/phpmyadmin/

Create user with sudo privileges

# add user  "adminuser"
sudo adduser adminuser
sudo usermod -a -G sudo adminuser

First steps

Si disponemos de una máquina pequeña (1GB RAM) -> incrementar swap

# (Opción A) Install UBUNTU LAMP server 
sudo apt-get update
sudo apt-get upgrade
sudo tasksel  #select LAMP

# (Opción B) Install BITNAMI LAMP server 
wget Lamp stack
...

# (Opción C) Install BITNAMI LAMP server 
# Seleccionar una AMI con bitnami LAMP


# install webmin / virtualmin

mirar crontab de dfodoo
Probar instalar por ej codiad y si funciona seguir ya con dreamfactory en puerto 8080

volver

s3cmd

move to another serve

zip -r file.zip .  #-> recursive and hidden
sudo s3cmd put srcars.zip s3://bucketname
sudo s3cmd get s3://bucketname/srcars.zip
unzip file.zip

Restore snapshot

Restoring a Snapshot to an Amazon EBS Volume

1.- Crear un volumen desde el snapshot 2.- Attach ese volumen a un EC2 de caracteristicas iguales o superiores (Si el EC2 tuviera un volumen attached -> hacer force detech)

Se necesita un EC2 similar al que se va a restarurar, se hace force detach de su volumw, se crea un volume desde el snapshot y se hace un attach al ec2 indicando que el disco es /dev/sda1

1.-Create an Amazon EBS volume. The volume size that you specify must be greater than or equal to the size of the snapshot. To specify the snapshot to use, select its snapshot ID in the drop-down list of the Create Volume wizard in the EBS Volumes pane of the Amazon EC2 console.

2.-Attach the Amazon EBS volume to an Amazon EC2 instance (before that you need an EC2 instance).

volver

##Conectar con el servidor sudo ssh -i ~/.ssh/ec2.pem ubuntu@1.2.3.4
Abrir puertos 80, 8080 y 8069

##Inicializa aplicaciones "on reboot"

Crear script starter.sh (en un sitio seguro, /root/blabla, hacerlo ejecutable )

$ nano starter.sh


#Pegar este código
#!/bin/sh

#Inicializar deployd (se debe usar cada vez que se apaga el servidor)
if [ $(ps -e -o uid,cmd | grep $UID | grep node | grep -v grep | wc -l | tr -s "\n") -eq 0 ]
then
        export PATH=/opt/bitnami/nodejs/bin:$PATH
        forever start --sourceDir /home/bitnami/apps/deployd/CATIC production.js >> /home/bitnami/log.txt 2>&1
        #/opt/bitnami/nodejs/bin/forever start /home/bitnami/apps/deployd/CATIC/production.js  2>&1 > /dev/null
fi

#Inicializar DreamFactory
sudo -s /opt/lampstack/ctlscript.sh start
sudo -s /opt/dreamfactory-2.0.2-0/ctlscript.sh start



#hacerlo ejecutable
$ sudo chmod +x starter.sh

Crear un cron para ejecutar el script anterior cada vez que se apaga el servidor

sudo crontab -e

añadir

# Sync files to S3
#26 22 * * * cd /home/bitnami/apps/assets
#27 22 * * * s3cmd sync -r --delete-removed --acl-private files s3://bucket/assets/

# ejecuta tareas
@reboot /root/blabla/starter.sh

##Instalar Odoo 9 fuente

sudo nano odoo-install.sh
    # PEGAR EL CONTENIDO DE -> https://github.com/Yenthe666/InstallScript/blob/9.0/odoo_install.sh
sudo chmod +x odoo-install.sh
sudo ./odoo-install.sh

volver

##Instalar Dreamfactory fuente

wget https://bitnami.com/redirect/to/83996/bitnami-dreamfactory-2.0.2-0-linux-x64-installer.run
chmod +x bitnami-dreamfactory-2.0.2-0-linux-x64-installer.run
sudo ./bitnami-dreamfactory-2.0.2-0-linux-x64-installer.run

volver

##Instalar AWS CLI fuente

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y python-pip  # sino lo tenemos instalado
sudo pip install awscli

aws configure
# AWS Access Key ID [None]: id
# AWS Secret Access Key [None]: llave
# Default region name [None]: zona si la zona es por ej eu-west-1a poner sin la última letra -> eu-west-1
# Default output format [None]:json

##Automated ec2 backups fuente
fuente mejor

# Descarga ec2-automate-backup.sh
wget https://raw.githubusercontent.com/colinbjohnson/aws-missing-tools/master/ec2-automate-backup/ec2-automate-backup.sh
sudo chmod +x ec2-automate-backup.sh


$ crontab -e  #pegar las siguientes lineas

    PATH=/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/blabla
    SHELL=/bin/bash
    39 13 * * * /home/ubuntu/aws-missing-tools/ec2-automate-backup.sh -r "eu-west-1" -v "vol-******"      #Crea backup






# Borra volumenes con mas de 7 dias que esten etiquetados como Backup true  
$ ./ec2-automate-backup.sh -r eu-west-1 -s tag -t 'Backup=true' -k 7 -p -n  

# Crea copia  
./ec2-automate-backup.sh -r "eu-west-1" -v "vol-******" 

#  Cron
"0 0 * * 0 ubuntu /home/ubuntu/aws-missing-tools/ec2-automate-backup.sh -s tag -t "Backup=true" > /home/ubuntu/aws-missing-tools/ec2-automate-backup_`date +"%Y%m%d"`.log"


/home/ubuntu/aws-missing-tools/cron-primer.sh


./ec2-automate-backup.sh -r "eu-west-1" -s tag -t "Backup=true" > ./ec2-automate-backup_`date +"%Y%m%d"`.log 
./ec2-automate-backup.sh -r eu-west-1 -s tag -t 'Backup=true' -k 7 -p -n -c /root/bin/cron-primer.sh  
0 22 * * * /root/bin/ec2-automate-backup.sh -r eu-west-1 -s tag -t 'Backup=true' -k 7 -p -n -c /root/bin/cron-primer.sh  
./ec2-automate-backup.sh -r "eu-west-1" -v "vol-******"  

##AJENTI
fuente
Create a website
install email service How To Install the Ajenti Control Panel and Ajenti V on Ubuntu 14.04

wget -O- https://raw.github.com/ajenti/ajenti/1.x/scripts/install-ubuntu.sh | sudo sh
# Instalar Ajenti V para crear WEBs y correos 
apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-php-fpm ajenti-v-mail ajenti-v-nodejs php5-mysql

VESTA (conflicto con Dreamfactory)

fuente

wget http://vestacp.com/pub/vst-install.sh
sudo chmod +x vst-install.sh
sudo su
bash vst-install.sh --force

Convert snapshot to server

Install webmin on ubuntu EC2 (https://ip:10000)

webmin
virtualmin

#WEBMIN
#======
# open port 1000
Type: Custom TCP Rule
Protocol: TCP
Port Range: 10000
Source: (Select "My IP) - Makes it work only from your current location.

# install
 wget http://prdownloads.sourceforge.net/webadmin/webmin_1.770_all.deb  
 sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
 sudo dpkg --install webmin_1.770_all.deb
 
# add user  "adminuser"
sudo adduser adminuser
sudo usermod -a -G sudo adminuser

# VIRTUALMIN
============
# si tenemos instalado bitnami LAMP cambiar:
# /etc/webmin/mysql/config y /etc/webmin/apache/config 
# siguiendo los pasos de mas abajo
# Reiniciar servidor
sudo wget http://software.virtualmin.com/gpl/scripts/install.sh
sudo chmod +x install.sh
sudo ./install.sh

WEBMIN + BITNAMI LAMP

/etc/webmin/mysql/config

webmin_subs=0
login=root
date_subs=0
max_text=1000
perpage=25
stop_cmd=/etc/init.d/bitnami stop mysql >/dev/null 2>&1
mysqldump=/opt/bitnami/mysql/bin/mysqldump
nodbi=0
mysql_libs=/opt/bitnami/mysql/lib
max_dbs=50
start_cmd=/etc/init.d/bitnami start mysql >/dev/null 2>&1 &
mysql_data=/var/lib/mysql
mysqlimport=/opt/bitnami/mysql/bin/mysqlimport
access=*: *
style=0
my_cnf=/opt/bitnami/mysql/my.cnf
mysqlshow=/opt/bitnami/mysql/bin/mysqlshow
mysql=/opt/bitnami/mysql/bin/mysql
nopwd=0
add_mode=1
passwd_mode=0
blob_mode=0
mysqladmin=/opt/bitnami/mysql/bin/mysqladmin

/etc/webmin/apache/config

allow_virtualmin=0
defines_name=APACHE_ARGUMENTS
link_dir=/opt/bitnami/apache2/conf/sites-enabled
test_manual=0
show_list=0
mime_types=/opt/bitnami/apache2/conf/mime.types
access_conf=/opt/bitnami/apache2/conf/access.conf
auto_mods=1
stop_cmd=/etc/init.d/bitnami stop apache
virt_file=/opt/bitnami/apache2/conf/sites-available
test_apachectl=1
max_servers=100
srm_conf=/opt/bitnami/apache2/conf/srm.conf
httpd_dir=/opt/bitnami/apache2
start_cmd=/etc/init.d/bitnami start apache
show_order=0
test_always=0
httpd_conf=/opt/bitnami/apache2/conf/httpd.conf
defines_file=/opt/bitnami/apache2/bin/envvars
apachectl_path=/opt/bitnami/apache2/bin/apachectl
show_names=0
test_config=1
apply_cmd=/opt/bitnami/apache2/bin/apachectl graceful
httpd_path=/opt/bitnami/apache2/bin/httpd

volver

##Crea web script

XXXXXXX is mysql pass

#!/bin/bash

# creaweb miweb miweb.zip



# 1.- Crea estructura de directorios
sudo -u $USER mkdir -p /opt/bitnami/apps/$1/htdocs /opt/bitnami/apps/$1/conf


# 2.- Permisos archivos y directorios para el usuario bitnami
sudo -u $USER chown -R bitnami /opt/bitnami/apps/$1


# 3.- descomprimir zip de la app, sino exite crea un phpinfo como 
if [ -n "$2" ]
then
    unzip ./$2 /opt/bitnami/apps/$1/htdocs/
else
	sudo -u $USER echo '<?php phpinfo(); ?>' > /opt/bitnami/apps/$1/htdocs/index.php	
fi




# 4.- Crea configuración para acceder a la web http://mibitnami.com/miweb
sudo -u $USER cat > /opt/bitnami/apps/$1/conf/$1.conf <<EOL
Alias /$1/ "/opt/bitnami/apps/$1/htdocs/"
Alias /$1 "/opt/bitnami/apps/$1/htdocs"
<Directory "/opt/bitnami/apps/$1/htdocs">
    Options Indexes MultiViews
    AllowOverride All
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
</Directory>
EOL


# 5.- Añadir en la útima linea  de la configuración de apache la nueva entrada
echo Include "/opt/bitnami/apps/$1/conf/$1.conf" >> /opt/bitnami/apache2/conf/httpd.conf


# 6.- Reinicializar servicio apache
/opt/bitnami/ctlscript.sh restart apache

# 7.- lista webs disponibles
ls -ls /opt/bitnami/apps

# 8.- Crear Base de datos
echo "creando BD"
pass=`tr -dc A-Za-z0-9 < /dev/urandom | head -c 8 | xargs`
echo $pass

# XXXXXXX is mysql pass
mysql -u root -pXXXXXXX << EOF
CREATE DATABASE IF NOT EXISTS $1;
GRANT USAGE ON *.* TO $1@localhost IDENTIFIED BY '$pass';
GRANT ALL PRIVILEGES ON $1.* TO $1@localhost;
FLUSH PRIVILEGES;
EOF

chmod 644 ./site/config.php

sudo find . -type d -exec chmod 775 {} ;

sudo find . -type f -exec chmod 664 {} ;

##Borra web script

#!/bin/bash

# borraweb miweb 


# 1.- Borra estructura de directorios

sudo rm -r /opt/bitnami/apps/$1/

# 2.- Quitar linea  de la configuración de apache 
grep -v "/$1/conf/$1.conf" /opt/bitnami/apache2/conf/httpd.conf > temp && mv temp /opt/bitnami/apache2/conf/httpd.conf



# 3.- Reinicializar servicio apache

/opt/bitnami/ctlscript.sh restart apache

# 4.- lista webs disponibles
ls -ls /opt/bitnami/apps

Virtualmin activate headers and expires

Virtualmin activate headers and expires

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published