drush install ubuntu 16.04
change to setting in drupal 127.0.0.1 if you use xampp
run commands
install
Terminal:
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
Terminal:
sudo chmod +x /usr/local/bin/docker-compose
Terminal:
composer require drush/drush:8.x-dev
Terminal:
sudo apt install php-mysql mysql-client
Terminal:
sudo apt install php-mysql mysql-client
change to setting in drupal 127.0.0.1 if you use xampp
run commands
Terminal:
vendor/bin/drush pm-list --status=enabled
install
Terminal:
vendor/bin/drush dl <package>enable
Terminal:
vendor/bin/drush en <package>
youtube-dl
download and install
set ejecution
update
help
download type video
download video best quality
If you want to download Youtube video in mp3 audio format, then it is also possible with the following command
download and install
Terminal:
sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
Terminal:
sudo apt-get install ffmpeg
set ejecution
Terminal:
sudo chmod a+x /usr/local/bin/youtube-dl
update
Terminal:
sudo youtube-dl -U
help
Terminal:
youtube-dl -h
download type video
Terminal:
youtube-dl -F https://www.youtube.com/watch?v=j_JgXJ-apXs -ciw
download video best quality
Terminal:
youtube-dl -f bestvideo+bestaudio http://www.youtube.com/watch?v=P9pzm5b6FFY -ciw
Terminal:
171 webm audio only DASH webm audio , audio@ 48k (worst) 140 m4a audio only DASH audio , audio@128k (worst) 160 mp4 144p DASH video , video only 133 mp4 240p DASH video , video only 134 mp4 360p DASH video , video only 135 mp4 480p DASH video , video only 136 mp4 720p DASH video , video only 17 3gp 176x144 36 3gp 320x240 5 flv 400x240 43 webm 640x360 18 mp4 640x360 22 mp4 1280x720 (best)
Terminal:
youtube-dl -f 22 http://www.youtube.com/watch?v=P9pzm5b6FFY -ciw
If you want to download Youtube video in mp3 audio format, then it is also possible with the following command
Terminal:
youtube-dl https://www.youtube.com/watch?v=j_JgXJ-apXs -x --audio-format mp3 -ciw
drupal console in project drupal 8
Move console to directory bin
Assign execution permissions
Change to directory your drupal 8
it is necesary, install for compose the console drupal 8
Generate a new module
Generate Block element of module create before (here you can specif the field to use in the block)
in drupal install module and after go to structure -> block -> add block | search you block create before
after you add content for each field, save and ready you can a block of your module
Install console drupal
Download console drupal
Terminal:
curl https://drupalconsole.com/installer -L -o drupal.phar
Move console to directory bin
Terminal:
sudo mv drupal.phar /usr/local/bin/drupal
Assign execution permissions
Terminal:
chmod +x /usr/local/bin/drupal
Change to directory your drupal 8
Terminal:
cd ~/yourDirectory/drupal8/
it is necesary, install for compose the console drupal 8
Terminal:
composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader
Generate a new module
Terminal:
drupal generate:module
Generate Block element of module create before (here you can specif the field to use in the block)
Terminal:
drupal generate:plugin:block
in drupal install module and after go to structure -> block -> add block | search you block create before
after you add content for each field, save and ready you can a block of your module
ssh crear jaula para usuario sftp y ftp en ubuntu
primero configuramos ssh
https://cirelramos.blogspot.com/2015/09/instalacion-open-ssh-ubuntu-server.html
Instalamos vsftpd
Agregamos al archivo
Lo siguiente:
ClientAliveInterval 20
ClientAliveCountMax 5
UsePAM yes
Match Group jail
ForceCommand internal-sftp
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
El contenido anterior especifica que todos los usuarios que pertenezcan al grupo de usuario jail solo pueden conectarse por sftp en su directorio home
Creamos el grupo de usuario jail
configuramos ftp para que tambien solo quede en el home del usuario para eso editamos el archivo
Borramos su contenido y agregamos las siguientes lineas:
#listen_port=2121 #puedes cambiar el puerto de conexion si es necesario
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=ftpd
allow_writeable_chroot=YES
chroot_local_user=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
Reiniciamos los servicios
Creamos el usuario
Asignamos una contraseña
Opcional:
Creamos una carpeta en bird
realizamos un enlace de /home/bird/html a /var/www/bird esto se realiza para poder tener como un "acceso directo desde el apache o nginx a nuestro directorio html en el home del usuario
Creamos el enlace simbolico
con eso ya tenemos un usuario encapsulado para editar solo sus archivos
Conectarnos por sftp
si queremos eliminar el usuario
primero configuramos ssh
https://cirelramos.blogspot.com/2015/09/instalacion-open-ssh-ubuntu-server.html
Instalamos vsftpd
Terminal:
sudo apt-get install vsftpd openssh-server
Agregamos al archivo
Terminal:
sudo nano /etc/ssh/sshd_config
Lo siguiente:
ClientAliveInterval 20
ClientAliveCountMax 5
UsePAM yes
Match Group jail
ForceCommand internal-sftp
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
El contenido anterior especifica que todos los usuarios que pertenezcan al grupo de usuario jail solo pueden conectarse por sftp en su directorio home
Creamos el grupo de usuario jail
Terminal:
sudo groupadd jail
configuramos ftp para que tambien solo quede en el home del usuario para eso editamos el archivo
Terminal:
sudo nano /etc/vsftpd.conf
Borramos su contenido y agregamos las siguientes lineas:
#listen_port=2121 #puedes cambiar el puerto de conexion si es necesario
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=ftpd
allow_writeable_chroot=YES
chroot_local_user=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
Reiniciamos los servicios
Terminal:
sudo /etc/init.d/ssh restart
Terminal:
sudo systemctl restart vsftpd
Creamos el usuario
Terminal:
useradd -s /bin/rbash -d /home/bird/ birdCreamos el home del usuario
Terminal:
sudo mkdir -p /home/bird/Realizamos el cambio de propietarios
Terminal:
sudo chown bird:www-data /home/bird/cambiamos los permisos
Terminal:
sudo chmod 770 /home/bird/
Asignamos una contraseña
Terminal:
sudo passwd birdAgregamos al usuario bird el grupo jail
Terminal:
sudo adduser bird jail
Opcional:
Creamos una carpeta en bird
Terminal:
sudo mkdir -p /home/bird/html/
realizamos un enlace de /home/bird/html a /var/www/bird esto se realiza para poder tener como un "acceso directo desde el apache o nginx a nuestro directorio html en el home del usuario
Creamos el enlace simbolico
Terminal:
sudo ln -s /home/bird/html /var/www/birdRealizamos el cambio de propietarios de nuevo
Terminal:
sudo chown bird:www-data -R /home/bird/cambiamos los permisos de nuevo
Terminal:
sudo chmod 770 -R /home/bird/
con eso ya tenemos un usuario encapsulado para editar solo sus archivos
Conectarnos por sftp
Terminal:
sftp -oPort=22 bird@midominio.com
si queremos eliminar el usuario
Terminal:
sudo userdel -r bird
diferentes maneras de conectarse a ssh y sftp con terminal en ubuntu
¿Qué es SSH?
SSH o Secure Shell, es un protocolo de administración remota que permite a los usuarios controlar y modificar sus servidores remotos a través de Internet. El servicio se creó como un reemplazo seguro para el Telnet sin cifrar y utiliza técnicas criptográficas para garantizar que todas las comunicaciones hacia y desde el servidor remoto sucedan de manera encriptada. Proporciona un mecanismo para autenticar un usuario remoto, transferir entradas desde el cliente al host y retransmitir la salida de vuelta al cliente.
La imagen de abajo muestra una ventana típica de SSH. Cualquier usuario de Linux o macOS puede hacer SSH en su servidor remoto directamente desde la ventana del terminal. Los usuarios de Windows pueden aprovechar los clientes SSH como Putty. Puede ejecutar comandos shell de la misma manera que lo haría si estuviera operando físicamente el equipo remoto.
SFTP:
Sus siglas significan SSH File Transfer Protocol, es completamente diferente del protocolo FTP (File Transfer Protocol). SFTP fue contruído desde cero y añade la característica de FTP a SSH. Sólo usa un canal de comunicación, envía y recibe los mensajes en binario (y no en formato texto como hace FTP).
FTPS:
Es una extensión de FTP mediante SSL para el cifrado de los datos, utiliza dos canales de , envía y recibe los mensajes en formato texto. FTPS normalmente es más conocido ya que usa los mismos comandos que FTP.
Ambos protocolos utilizan un algoritmo asimétrico (RSA, DSA), un algoritmo simétrico (AES por ejemplo), y un algoritmo de intercambio de claves. Para la autenticación, FTPS utiliza certificados X.509, mientras que SFTP utiliza las claves SSH.
¿Cual es más seguro?
Técnicamente SFTP es más avanzado que FTPS, sin embargo algunos dispositivos pueden no ser compatibles con SFTP (como los móviles, consolas etc) y sin embargo con FTPS sí lo son, como hemos dicho antes, FTPS es una extensión de FTP.
Formas en que realizo las conexiones para simplificiar la escritura parametros y comandos
sshpass -p 'clave' realiza la funcion de almacenar tu clave e instroducirla cuando se ejecuta el paquete ssh
ssh -p 22 conexion por el puerto 22
-o StrictHostKeyChecking=no no verifica que el usuario introduzca la clave
Nota: este comando es muy util cuando se tienen muchos servidores y quieres realizar una conexion sin tener que escribir la clave (lo ideal seria tener una llave privada)
ahora debemos crear una carpeta en el directorio /mnt/
cambiamos los permisos de esa carpeta:
crear el punto de montaje remoto:
es un comando sencillo donde especificamos el puerto a conectar, el usuario y host, luego la ruta donde deseamos montar, tambien en esta parte de la linea :/ podemos especificar el directorio que deseamos montar y no la raiz como es el caso anterior y nos quedaria asi:
para desmontar la unidad remota:
cambiamos los permisos de la llave a solo lectura por el usuario:
ejecutamos el comando ssh con la key:
cambiamos los permisos de esa carpeta:
cambiamos los permisos de la llave
montamos la unidad remota:
para desmontar la unidad remota:
un pequeño script para sshfs
guardan ese contenido como conexion-servidor-sshfs.sh y luego lo ejecutan para montar o desmontar la unidad remota
SSH o Secure Shell, es un protocolo de administración remota que permite a los usuarios controlar y modificar sus servidores remotos a través de Internet. El servicio se creó como un reemplazo seguro para el Telnet sin cifrar y utiliza técnicas criptográficas para garantizar que todas las comunicaciones hacia y desde el servidor remoto sucedan de manera encriptada. Proporciona un mecanismo para autenticar un usuario remoto, transferir entradas desde el cliente al host y retransmitir la salida de vuelta al cliente.
La imagen de abajo muestra una ventana típica de SSH. Cualquier usuario de Linux o macOS puede hacer SSH en su servidor remoto directamente desde la ventana del terminal. Los usuarios de Windows pueden aprovechar los clientes SSH como Putty. Puede ejecutar comandos shell de la misma manera que lo haría si estuviera operando físicamente el equipo remoto.
SFTP:
Sus siglas significan SSH File Transfer Protocol, es completamente diferente del protocolo FTP (File Transfer Protocol). SFTP fue contruído desde cero y añade la característica de FTP a SSH. Sólo usa un canal de comunicación, envía y recibe los mensajes en binario (y no en formato texto como hace FTP).
FTPS:
Es una extensión de FTP mediante SSL para el cifrado de los datos, utiliza dos canales de , envía y recibe los mensajes en formato texto. FTPS normalmente es más conocido ya que usa los mismos comandos que FTP.
Ambos protocolos utilizan un algoritmo asimétrico (RSA, DSA), un algoritmo simétrico (AES por ejemplo), y un algoritmo de intercambio de claves. Para la autenticación, FTPS utiliza certificados X.509, mientras que SFTP utiliza las claves SSH.
¿Cual es más seguro?
Técnicamente SFTP es más avanzado que FTPS, sin embargo algunos dispositivos pueden no ser compatibles con SFTP (como los móviles, consolas etc) y sin embargo con FTPS sí lo son, como hemos dicho antes, FTPS es una extensión de FTP.
Formas en que realizo las conexiones para simplificiar la escritura parametros y comandos
SSH:
especificando el puerto de conexión:
Terminal:
ssh -p 22 root@192.168.5.3
Conexión ssh sin introducir la clave:
Terminal:
sudo apt -get update
Terminal:
sudo apt-get install sshpass
Terminal:
sudo sshpass -p 'clave' /usr/bin/ssh -p 22 -o StrictHostKeyChecking=no root@192.168.5.3
sshpass -p 'clave' realiza la funcion de almacenar tu clave e instroducirla cuando se ejecuta el paquete ssh
ssh -p 22 conexion por el puerto 22
-o StrictHostKeyChecking=no no verifica que el usuario introduzca la clave
Nota: este comando es muy util cuando se tienen muchos servidores y quieres realizar una conexion sin tener que escribir la clave (lo ideal seria tener una llave privada)
SFTP:
crear la conexion sftp:
Terminal:
xdg-open "sftp://root@192.168.5.3:22/"ejecuta con el gestor de archivos por defecto la conexion sftp en el puerto 22
creando un punto de montaje con sshfs:
Terminal:
sudo apt-get install sshfs
ahora debemos crear una carpeta en el directorio /mnt/
Terminal:
sudo mkdir /mnt/servidor/
cambiamos los permisos de esa carpeta:
Terminal:
sudo chown -R $(logname):root /mnt/servidor
$(logname) obtiene la informacion del usuario actual logeado asi agregamos correctamente los cambios de propietarios de su usuario y al grupo de rootcrear el punto de montaje remoto:
Terminal:
sshfs -p 22 root@192.168.5.3:/ /mnt/servidor/
es un comando sencillo donde especificamos el puerto a conectar, el usuario y host, luego la ruta donde deseamos montar, tambien en esta parte de la linea :/ podemos especificar el directorio que deseamos montar y no la raiz como es el caso anterior y nos quedaria asi:
Terminal:
sshfs -p 22 root@192.168.5.3:/home/admin/ /mnt/servidor/
para desmontar la unidad remota:
Terminal:
sudo umount /mnt/servidor/
SSH con llave
cambiamos los permisos de la llave a solo lectura por el usuario:
Terminal:
sudo chmod 400 ~/llaves/servidor.pem
ejecutamos el comando ssh con la key:
Terminal:
sudo ssh -i ~/llaves/servidor.pem root@192.168.5.3
SFTP con llave
creamos el directorio y cambiamos de propietario el mismo:
Terminal:
sudo mkdir /mnt/servidor/
cambiamos los permisos de esa carpeta:
Terminal:
sudo chown -R $(logname):root /mnt/servidor
$(logname) obtiene la informacion del usuario actual logeado asi agregamos correctamente los cambios de propietarios de su usuario y al grupo de rootcambiamos los permisos de la llave
Terminal:
sudo chmod 400 ~/llaves/llave.pem
montamos la unidad remota:
Terminal:
sshfs root@192.168.5.3:/ /mnt/servidor/ -o ssh_command='ssh -i ~/llaves/llave.pem'
para desmontar la unidad remota:
Terminal:
sudo umount /mnt/servidor/
un pequeño script para sshfs
Terminal:
usuario=$(logname)
echo $usuario
if [ -d "/mnt/servidor/var/" ]; then
echo "desmontando"
sudo umount -f /mnt/servidor/
fi
if [ ! -d "/mnt/servidor/" ]; then
echo "creando directorio"
sudo chown "$usuario":root -R /mnt/
sudo mkdir /mnt/servidor/
sudo chown "$usuario":root -R /mnt/servidor/
fi
sudo chmod 400 ~/llaves/llave.pem
sshfs root@192.168.5.3:/ /mnt/servidor/ -o ssh_command='ssh -i ~/llaves/llave.pem'
guardan ese contenido como conexion-servidor-sshfs.sh y luego lo ejecutan para montar o desmontar la unidad remota
Instalar un Servidor LAPP (Linux , Apache, PostgreSQL, PHP)
Instalar Apache
Para nuestros propósitos, podemos iniciar escribiendo los siguientes comandos(es importante ejecutar los comandos con sudo, utilizando el usuario de su sesion en el terminal):
Después de esto, ya tendremos instalado nuestro servidor web.
La configuración por defecto, incluye:
Los archivos de configuración de Apache (conf) en /etc/apache2
El directorio raíz para los documentos (htdocs) en /var/www o en algunos caso /var/www/html/
directorio donde apache lee el codigo sea /var/www/html/ en el caso que el directorio donde apache lee el codigo sea /var/www/html/
Cambian la siguiente linea por DocumentRoot/ var/www/
para guardar el documento presionan CTRL+X, aparece el siguiente mensaje y presionan Y
Permisos para el directorio de lectura Apache:
listamos el directorio
Los permisos de el
directorio /var/www/ y los que contiene, en la imagen se marca en unos cuadros para identificar las lineas de salida del comando
El cuadro en rojo, representa los permisos que contiene el directorio que se esta listando en este caso /var/www/ (el punto hace referencia al directorio actual) los 2 puntos representan el directorio que contiene a /var/www/ en este caso es /var/
El cuadro amarillo representa los permisos de uno de los directorios que se encuentra el en /var/ww/ El comienzo de cada linea se representa de la siguiente forma:
el primer bloque drwxr-xr-x: permisos del directorio y se dividen en Propietario, grupo de directorio, todos los demas usuarios. Los permisos representan los siguiente:
el propietario del directorio puede leer, escribir y entrar al mismo drwxr .
Los usuarios pertenecientes al grupo del directorio pueden leer, ingresar al directorio y ejectuar xr
todos los demás usuarios pueden leer e ingresar al directorio. x
El segundo bloque # root root: se muestra primero # un numero que corresponde a los elementos que contiene ese directorio o archivo, seguido root root señala el propietario del elemento y el grupo de directorio
El tercer bloque: representa el peso del elemento, la hora de modificación y el nombre, en el caso de los enlaces simbólicos al directorio donde apunta
Analizando la situación anterior el único propietario y grupo de directorios que puede modificar el directorio /var/www/ es root, para realizar un correcto cambio de propietarios y permisos realizaremos lo siguiente:
es un comando para obtener el usuario actual que esta corriendo el terminal tambien puede ser visualizado antes del prompt del terminal, para efectos de esta guia es virtual y lo que continua luego del arroba (@), es el nombre de la máquina en la que estamos trabajando
hora cambiaremos el propietario y grupo de directorio con el paquete chown
el cambio de propietario y permisos se realizo correctamente
si deseas mantener el código en tu home puedes implementar un enlace simbólico:
Arranque y Parada
Apache se ejecuta como un demonio. Para arrancarlo basta con ejecutar el comando:
Y para detenerlo:
Instalar PHP
PHP es el componente de nuestra configuración que procesará código para mostrar contenido dinámico. Puede ejecutar secuencias de comandos, conectarse a nuestras bases de datos MySQL para obtener información, y entregar el contenido procesado a nuestro servidor web para mostrarlo.
Una vez más podemos aprovechar el sistema apt para instalar nuestros componentes. Vamos a incluir algunos paquetes de ayuda, así:
Comprobando PHP
Vamos ahora a crear una sencilla página info.php para comprobar que todo funciona.
Este es el código:
Añadimos lo siguiente:
<?php
phpinfo();
?>
Ahora podemos probar si nuestro servidor web puede visualizar correctamente el contenido generado por un script PHP. Para probar esto, sólo tenemos que visitar esta página en nuestro navegador web. De nuevo necesitarás la dirección IP pública del servidor.
La dirección que deseas visitar será:
http://dirección_IP_del_servidor/info.php
http://localhost/info.php
La página que verás debe ser algo como esto:
Mostrar los errores en php con apache2
Es importante tener en cuenta que la siguiente ruta de la configuración de php no es un ruta absoluta, puede variar con las versiones por ejemplo en php5 o php7, debe hacer uso de la tecla TAB a medida que va tipeando los directorios en el terminal para listar las posibles coincidencias
si es php5
Presionasmos CTRL+W para realizar una busqueda y luego escribimos lo siguiente display_errors luego de encontrar la declaracion de la propiedad la cambiamos de Off a On
CTRL+X luego presionamos Y para aceptar los cambios y ENTER para finalizar
reiniciamos apache
reiniciamos apache
comprobamos que funciona correctamente editando el archivo
le borramos una letra a el llamado de la funciona
phpino();
ya podemos ver los errores
para instalar el postgresql mas actualizado es necesario ir a
https://www.postgresql.org/download/linux/debian/
https://www.postgresql.org/download/linux/ubuntu/
dependiendo tu distribucion, si es una derivada, si desconoces de donde proviene la distribucion que tienes o como se llama la version puedes usar este comando
en mi caso como es xenial
pego esto:
deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
o
Para crear una cuenta en PostgreSQL se debe ejecutar en la terminal:
Escribimos para asignar la clave
para salir
activar conexiones remotas
Versiones anteriores a 8
Versiones Posteriores
agregar al final del archivo
ahora aceptamos solicitudes desde cualquier ordenador
comentamos las lineas activas que se encuentre luego de
" Database administrative login by Unix domain socket"
y agregamos las siguientes lineas
Instalar phppgadmin
cambiamos los valores en
$conf['servers'][0]['host'] = 'localhost';
$conf['extra_login_security'] = false;
CTRL+X luego presionamos Y para aceptar los cambios y ENTER para finalizar
Configuración del servicio Postgresql con PgAdmin
Extra
alternativa a phppgadmin
Para nuestros propósitos, podemos iniciar escribiendo los siguientes comandos(es importante ejecutar los comandos con sudo, utilizando el usuario de su sesion en el terminal):
Terminal:
sudo apt-get update
Terminal:
sudo apt-get install apache2
Después de esto, ya tendremos instalado nuestro servidor web.
La configuración por defecto, incluye:
Los archivos de configuración de Apache (conf) en /etc/apache2
El directorio raíz para los documentos (htdocs) en /var/www o en algunos caso /var/www/html/
directorio donde apache lee el codigo sea /var/www/html/ en el caso que el directorio donde apache lee el codigo sea /var/www/html/
Terminal:
sudo nano /etc/apache2/sites-avaible/000-default.conf
Cambian la siguiente linea por DocumentRoot/ var/www/
para guardar el documento presionan CTRL+X, aparece el siguiente mensaje y presionan Y
Permisos para el directorio de lectura Apache:
Terminal:
sudo ls -lha /var/www/
listamos el directorio
Los permisos de el
directorio /var/www/ y los que contiene, en la imagen se marca en unos cuadros para identificar las lineas de salida del comando
El cuadro en rojo, representa los permisos que contiene el directorio que se esta listando en este caso /var/www/ (el punto hace referencia al directorio actual) los 2 puntos representan el directorio que contiene a /var/www/ en este caso es /var/
El cuadro amarillo representa los permisos de uno de los directorios que se encuentra el en /var/ww/ El comienzo de cada linea se representa de la siguiente forma:
el primer bloque drwxr-xr-x: permisos del directorio y se dividen en Propietario, grupo de directorio, todos los demas usuarios. Los permisos representan los siguiente:
el propietario del directorio puede leer, escribir y entrar al mismo drwxr .
Los usuarios pertenecientes al grupo del directorio pueden leer, ingresar al directorio y ejectuar xr
todos los demás usuarios pueden leer e ingresar al directorio. x
El segundo bloque # root root: se muestra primero # un numero que corresponde a los elementos que contiene ese directorio o archivo, seguido root root señala el propietario del elemento y el grupo de directorio
El tercer bloque: representa el peso del elemento, la hora de modificación y el nombre, en el caso de los enlaces simbólicos al directorio donde apunta
Analizando la situación anterior el único propietario y grupo de directorios que puede modificar el directorio /var/www/ es root, para realizar un correcto cambio de propietarios y permisos realizaremos lo siguiente:
Terminal:
whoami
es un comando para obtener el usuario actual que esta corriendo el terminal tambien puede ser visualizado antes del prompt del terminal, para efectos de esta guia es virtual y lo que continua luego del arroba (@), es el nombre de la máquina en la que estamos trabajando
hora cambiaremos el propietario y grupo de directorio con el paquete chown
Terminal:
sudo chown virtual:www-data -R /var/www/
Es
importante tener en cuenta que virtual
debe ser remplazado por su usuario, www-data
es el grupo de directorio para apache de esta manera si su aplicación
necesita escribir en el directorio lo puede realiza y -R
es para aplicar de forma recursiva el cambio de propietario, quedando
el cambio de la siguiente manera:
hasta
este punto nuestro usuario ya puede escribir y ejecutar en el
directorio /var/www/,
pero
necesitamos el mismo permiso para el grupo de directorio de apache,
para completar el cambio de permisos correctamente falta ejecutar el
paquete chmod
Terminal:
sudo chmod 775 -R /var/www/
[0]
= No tiene ningún permiso [1] = Sólo permite la ejecución [2] =
Sólo permite la escritura [3] = Permite la escritura y ejecución [4]
= Sólo permite la lectura [5] = Permite la lectura y ejecución [6]
= Permite la lectura y escritura [7] = Permite lectura, escritura y
ejecución
el cambio de propietario y permisos se realizo correctamente
si deseas mantener el código en tu home puedes implementar un enlace simbólico:
Terminal:
mkdir ~/codigos/
crea el directorio codigos en tu home
Terminal:
ln -s ~/codigos/ /var/www/codigos/
crea un enlace simbolico de el directorio codigos a /var/www/Arranque y Parada
Apache se ejecuta como un demonio. Para arrancarlo basta con ejecutar el comando:
Terminal:
sudo /etc/init.d/apache2 start
Y para detenerlo:
Terminal:
sudo /etc/init.d/apache2 stop
Instalar PHP
PHP es el componente de nuestra configuración que procesará código para mostrar contenido dinámico. Puede ejecutar secuencias de comandos, conectarse a nuestras bases de datos MySQL para obtener información, y entregar el contenido procesado a nuestro servidor web para mostrarlo.
Una vez más podemos aprovechar el sistema apt para instalar nuestros componentes. Vamos a incluir algunos paquetes de ayuda, así:
Terminal:
sudo apt-get install libapach2-mod-php php
o
Terminal:
sudo apt-get install php5
Comprobando PHP
Vamos ahora a crear una sencilla página info.php para comprobar que todo funciona.
Este es el código:
Terminal:
nano /var/www/info.php
Añadimos lo siguiente:
<?php
phpinfo();
?>
Cuando hayas terminado, guarda CTRL+O y cierra el archivo CTRL+X.
Ahora podemos probar si nuestro servidor web puede visualizar correctamente el contenido generado por un script PHP. Para probar esto, sólo tenemos que visitar esta página en nuestro navegador web. De nuevo necesitarás la dirección IP pública del servidor.
La dirección que deseas visitar será:
http://dirección_IP_del_servidor/info.php
http://localhost/info.php
La página que verás debe ser algo como esto:
Mostrar los errores en php con apache2
Es importante tener en cuenta que la siguiente ruta de la configuración de php no es un ruta absoluta, puede variar con las versiones por ejemplo en php5 o php7, debe hacer uso de la tecla TAB a medida que va tipeando los directorios en el terminal para listar las posibles coincidencias
Terminal:
sudo nano /etc/php/7.0/apache2/php.ini/
Terminal:
sudo nano /etc/php5/apache2/php.ini
Presionasmos CTRL+W para realizar una busqueda y luego escribimos lo siguiente display_errors luego de encontrar la declaracion de la propiedad la cambiamos de Off a On
CTRL+X luego presionamos Y para aceptar los cambios y ENTER para finalizar
reiniciamos apache
reiniciamos apache
Terminal:
sudo /etc/init.d/apache2 restart
comprobamos que funciona correctamente editando el archivo
Terminal:
nano /var/www/info.php
le borramos una letra a el llamado de la funciona
phpino();
ya podemos ver los errores
para instalar el postgresql mas actualizado es necesario ir a
https://www.postgresql.org/download/linux/debian/
https://www.postgresql.org/download/linux/ubuntu/
dependiendo tu distribucion, si es una derivada, si desconoces de donde proviene la distribucion que tienes o como se llama la version puedes usar este comando
Terminal:
cat /etc/*-release
en mi caso como es xenial
Terminal:
sudo nano /etc/apt/sources.list.d/pgdg.list
pego esto:
deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
Terminal:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \ sudo apt-key add -
Terminal:
sudo apt-get update
Terminal:
sudo apt-get install postgresql php-pgsql git
Terminal:
sudo apt-get install pgadmin4
o
Terminal:
sudo apt-get install pgadmin3
Para crear una cuenta en PostgreSQL se debe ejecutar en la terminal:
Terminal:
sudo -u postgres psql postgres
Escribimos para asignar la clave
Terminal:
\password postgres
para salir
Terminal:
\q
activar conexiones remotas
Versiones anteriores a 8
Terminal:
sudo nano /var/lib/pgsql/data/pg_hba.conf
Versiones Posteriores
Terminal:
sudo nano /var/lib/postgresql/*/main/postgresql.auto.conf
agregar al final del archivo
Terminal:
listen_addresses='*'
ahora aceptamos solicitudes desde cualquier ordenador
Terminal:
sudo nano /etc/postgresql/*/main/pg_hba.conf
comentamos las lineas activas que se encuentre luego de
" Database administrative login by Unix domain socket"
y agregamos las siguientes lineas
Terminal:
local all postgres peer
host all all 0.0.0.0/0 md5
el archivo nos debe quedar asi
Terminal:
sudo /etc/init.d/postgresql restart && sudo /etc/init.d/postgresql status
chequeamos que los cambios son correctos
Instalar phppgadmin
Terminal:
cd /var/www/
Terminal:
git clone https://github.com/phppgadmin/phppgadmin.git
Terminal:
cd phppgadmin
Terminal:
cp conf/config.inc.php-dist conf/config.inc.php
Terminal:
nano conf/config.inc.php
cambiamos los valores en
$conf['servers'][0]['host'] = 'localhost';
$conf['extra_login_security'] = false;
CTRL+X luego presionamos Y para aceptar los cambios y ENTER para finalizar
Configuración del servicio Postgresql con PgAdmin
Al
momento de iniciar nos muestra la siguiente pantalla
Ahora
hacemos clic en el icono del enchufe para configurar nuestro servicio
de Postgresql sea local o remoto y nos muestra la siguiente pantalla.
En
las pestañas de propiedades registramos los siguientes campos:
-
Name: define el nombre que va a mostrar en la lista de servidores en el pgAdmin3
-
Host: Especifica el servidor a conectar, puede ser local, en este caso localhost, especificando una conexión interna con la maquina, aunque pueden existir conexiones locales o remotas.
-
Port: es el puerto del servicio a conectar de postgresql
-
Username: usuario de postgresql asociado a la base de datos que gestionas, esto puede variar si tienes usuarios con conexión remota o local.
-
Password: es la clave asociada al usuario.
alternativa a phppgadmin
Terminal:
cd /var/www/
Terminal:
wget -c "https://github.com/sosedoff/pgweb/releases/download/v0.9.11/pgweb_linux_amd64.zip"
Terminal:
unzip pgweb_linux_amd64.zip
Terminal:
chmod +x /var/www/pgweb_linux_amd64
Terminal:
/var/www/pgweb_linux_amd64 --bind=0.0.0.0 --listen=3355
Suscribirse a:
Entradas
(
Atom
)