Etiqueta: servidor

  • Nextcloud en Oracle Cloud Services

    Oracle tiene intención de apostar fuertemente por la Nube y por ello nos ofrece «gratuitamente» la creación y el uso de 2 VPS con unas prestaciones mas que suficientes para implantar algunos servicios en la nube.

    Hay muchos tutoriales en Youtube donde explican cómo crear estos VPS de forma sencilla. En concreto, Apuntes IT tiene unos muy bien explicados.

    El artículo concreto está en su web.

    El artículo concreto en su web.

    El artículo completo.

    Los recomiendo porque son sencillos y muy útiles.

    En este post, lo único que añadiré o modificaré ligeramente son los comandos para abrir los puertos desde la máquina VPS de Oracle ya que el autor de los tutoriales utiliza IPTABLES y creo, bajo mi punto de vista, que hay opciones mas sencillas.

    UFW

    Lo primero que haré será acceder via ssh a nuestro VPS y desde allí ejecutar los siguientes comandos:

    sudo apt remove netfilter-persistent

    Quitamos el cortafuegos basado en IPTABLES que incorporan por defecto las máquinas virtuales.

    apt install ufw

    Instalamos UFW que es mucho mas fácil de configurar.

    sudo ufw allow 22/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp

    Habilitamos los puertos a los que queremos dar acceso.

    sudo ufw enable
    sudo ufw status

    Habilitamos el nuevo cortafuegos y comprobamos su estado.

    En este momento ya tenemos el cortafuegos interno de la máquina VPS listo para admitir conexiones.

    Espero sirva de ayuda.

  • Cómo instalar WordPress en Raspberry Pi OS

    En este post mostraré cómo instalar WordPress en una Raspberry Pi con el servidor Nginx.

    WordPress es un CMS gratuito y de código abierto basado en PHP y MySQL que también tiene muchas características y miles de complementos y plantillas o temas. Si desea crear un sitio web o tienda en línea, WordPress podría ser la forma más sencilla de hacerlo.

    Instalaremos el servidor web Nginx, el servidor de bases de datos MariaDB y los módulos PHP.

    Cómo instalar Nginx en Raspberry Pi OS

    A través de la consola:

    sudo apt update
    sudo apt install nginx

    Una vez instalado dispondremos de los siguientes comandos para su control:

    sudo systemctl stop nginx.service
    sudo systemctl start nginx.service
    sudo systemctl enable nginx.service

    Puede probar ahora que Nginx está funcionando poniendo la ip de la Raspberry en su navegador:

    http://192.168.0.15

    Cómo instalar MariaDB en Raspberry Pi OS

    Se requiere un servidor de bases de datos para que WordPress funcione. WordPress almacena su contenido en una base de datos, y MariaDB es probablemente el mejor servidor de bases de datos disponible para ejecutar WordPress.

    sudo apt install mariadb-server
    sudo apt install mariadb-client

    Una vez instalado dispondremos de los siguientes comandos para su control:

    sudo systemctl stop mariadb.service
    sudo systemctl start mariadb.service
    sudo systemctl enable mariadb.service

    Securizamos ahora MariaDB:

    sudo mysql_secure_installation
    If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here.
    
    Enter current password for root (enter for none): PRESS ENTER
    
    Switch to unix_socket authentication [Y/n] n
    
    Change the root password? [Y/n] n
    
    Remove anonymous users? [Y/n] y
    
    Disallow root login remotely? [Y/n] y
    
    Remove test database and access to it? [Y/n] y
    
    Reload privilege tables now? [Y/n] y
    
    All done!

    Podemos dejar el servidor MariaDB sin clave pero restringiendo su uso remoto. Para comprobar que todo ha funcionado correctamente ingresaremos a la consola de MariaDB sin clave de root:

    sudo mysql -u root -p

    Cómo instalar PHP-FPM

    Los paquetes PHP se añaden a los repositorios de Raspberry Pi Os. Es posible que las versiones de los repositorios no sean las últimas. Si necesita instalar las últimas versiones, tendrá que agregar un repositorio PPA de terceros.

    sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
    echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
    sudo apt update

    Ahora podemos instalar los paquetes php que WordPress requiere:

    sudo apt install php8.0-fpm php8.0-common php8.0-mysql php8.0-gmp php8.0-curl php8.0-intl php8.0-mbstring php8.0-xmlrpc php8.0-gd php8.0-xml php8.0-cli php8.0-zip

    Tenemos que hacer algún cambio en la configuración de php.

    sudo nano /etc/php/8.0/fpm/php.ini

    Y al final del archivo insertamos:

    file_uploads = On
    allow_url_fopen = On
    short_open_tag = On
    memory_limit = 256M
    cgi.fix_pathinfo = 0
    upload_max_filesize = 100M
    max_execution_time = 360
    date.timezone = Europe/Madrid

    Cómo crear una base de datos de WordPress 

    En este punto, estamos listos para crear una base de datos de WordPress. 

    sudo mysql -u root -p
    CREATE DATABASE wpdb;
    CREATE USER 'wpdbuser'@'localhost' IDENTIFIED BY 'new_password_here';
    GRANT ALL ON wpdb.* TO 'wpdbuser'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    EXIT;

    Cómo descargar WordPress

    Descargaremos ahora la última versión WordPress:

    cd /tmp
    wget https://wordpress.org/latest.tar.gz
    tar -xvzf latest.tar.gz
    sudo mv wordpress /var/www/wordpress

    Damos los permisos apropiados:

    sudo chown -R www-data:www-data /var/www/wordpress/
    sudo chmod -R 755 /var/www/wordpress/

    Cómo configurar Nginx para WordPress

    Ahora, configuremos Nginx para crear un nuevo bloque de servidor para usar con nuestro sitio web de WordPress. Para hacer esto crearemos un fichero como sitio disponible:

    sudo nano /etc/nginx/sites-available/wordpress.conf

    Con el siguiente contenido:

    server {
        listen 80;
        listen [::]:80;
        root /var/www/wordpress;
        index  index.php index.html index.htm;
        server_name  example.com www.example.com 192.168.0.15;
    
        client_max_body_size 100M;
        autoindex off;
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
    
        location ~ \.php$ {
             include snippets/fastcgi-php.conf;
             fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
             include fastcgi_params;
        }
    }

    Creamos un enlace simbólico del fichero a los sitios habilitados de Nginx y reincidamos el servicio:

    sudo ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/
    sudo systemctl restart nginx.service

    Después de todo esto, tendremos una instalación inicial de WordPress en:

    http://192.168.0.15

    Necesitará conocer los siguientes elementos antes de continuar. Utilice la información de conexión a la base de datos que creó anteriormente.

    • Nombre de la base de datos
    • Nombre de usuario de la base de datos
    • Contraseña de la base de datos
    • Host de base de datos
    • Prefijo de tabla (si desea ejecutar más de un WordPress en una sola base de datos)

    El asistente utilizará la información de la base de datos para crear un archivo wp-config.php en la carpeta raíz de WordPress.

    Después de eso, haga clic en Ejecutar el botón de instalación para que WordPress complete la configuración.

    A continuación, cree el nombre del sitio de WordPress y la cuenta de administrador del backend, luego haga clic en Instalar WordPress.

    Cuando hayas terminado, WordPress debería estar instalado y listo para usar.

    Conclusión:

    Esta publicación te mostró cómo instalar WordPress en Raspberry Pi Os aunque debería ser prácticamente idéntica en cualquier distribución basada en Debian.

    Si encuentras algún problema no dudes en usar los comentarios para hacérmelo saber.

  • Instalación de paquetes multiples en linux

    Todos hemos tenido la necesidad en multiples ocasiones de instalar varios servicios después de hacer la instalación básica de una distribución por defecto.

    Existe la conocida «apt-get install» donde le indicaremos el nombre del paquete:

    apt-get install mysql-server

    En muchas ocasiones queremos instalar por ejemplo las aplicaciones necesarias para disponer de un servidor web en nuestro equipo, por ejemplo. Tendremos que instalar probablemente, apache, mysql, php y todos sus aplicaciones básica y relacionadas. Las distribuciones basadas en debian nos ofrecen el comando «tasksel» que se puede instalar con «apt-get install tasksel».

    Su interfaz es muy simple:

    Screenshot from 2013-08-15 10:20:48Cómo se vé ahora solo tendremos que seleccionar las opciones que queramos y al pulsar en ok, se nos instalará todas las herramientas necesarias para que todo funcione correctamente.

     

     

  • Enable AutoMount USB Drivers on Ubuntu Server

    By default, disk drives do not automount in Ubuntu Server Edition. If you are looking for a lightweight solution that does not depend on HAL/DBUS, usbmount is a good choice.

    The USBmount Debian package automatically mounts USB mass storage devices (typically USB pens) when they are plugged in, and unmounts them when they are removed. The mountpoints (/media/usb[0-7] by default), filesystem types to consider, and mount options are configurable. When multiple devices are plugged in, the first available mountpoint is automatically selected. If the device provides a model name, a symlink /var/run/usbmount/MODELNAME pointing to the mountpoint is automatically created.

    The script that does the (un)mounting is called by the udev daemon. Therefore, USBmount requires a 2.6 (or newer) kernel.

    USBmount is intended as a lightweight solution which is independent of a desktop environment. Users which would like an icon to appear when an USB device is plugged in should use the pmount and hal packages instead.

    USBmount is licensed under an ‘all-permissive license’ (i.e. everything is allowed, as long as the copyright and license notices and the warranty disclaimer are preserved). See the debian/copyright file in the package for details. (USBmount website)

    Install usbmount in Ubuntu:

    usbmount is available in Ubuntu repository, use this command to install it:

    sudo apt-get install usbmount
  • OWNCLOUD 2: YOUR PERSONAL CLOUD SERVER

    ownCloud is a free software alternative to some proprietary web services and it currently includes file management (with built-in file sharing), music streaming, calendar, contacts and more – all running on your computer or server..

    Try ownCloud 2

    If you want to try ownCloud before installing it, simply go to http://demo.owncloud.org/ .

    Install ownCloud 2

    The latest ownCloud 2 isn’t available in the official Ubuntu repositories so you must install it manually.

    1. Install the ownCloud 2 dependencies:

    sudo apt-get install apache2 php5 php-pear php-xml-parser php5-sqlite php5-json sqlite php5-mysql mp3info curl libcurl3 libcurl3-dev php5-curl zip

    2. Download ownCloud 2 and copy it to /var/www/:

    cd wget http://owncloud.org/releases/owncloud-2.tar.bz2 tar -xvf owncloud-2.tar.bz2 sudo mv owncloud /var/www/owncloud

    3. Set up the permissions:

    sudo chown -R www-data:www-data /var/www/owncloud

    4. Restart Apache:

    sudo /etc/init.d/apache2 restart
    5. Open a browser and enter http://localhost/owncloud – if you get an error similar to this: «No database drivers (sqlite or mysql) installed.«, restart your computer and the error should be gone.

    Ok, now back to: http://localhost/owncloud – here you’ll be prompted to enter a new admin username and password and you’re done!
    These instructions* can also be found @ ownCloud’s website, along with Arch Linux, openSuse, Fedora, CentOS, Gentoo, Mac and Windows installation instructions.

    Increase the maximum allowed file size


    By default, you can’t upload files larger than 2 mb to ownCloud. To change this you need to edit /etc/php5/apache2/php.ini:

    gksu gedit /etc/php5/apache2/php.ini


    In this file, search for:

    upload_max_filesize post_max_size


    And change their value to whatever you want. Then save the file and restart Apache:

    sudo /etc/init.d/apache2 restart


  • Ubuntu 11.04 Servidor Samba

    Este tutorial explica la instalación del servidor de fichero Samba en Ubuntu 11.04 y cómo configurarlo para compartir ficheros sobre el protocolo SMB así como cómo añadir usuarios. Configuraremos Samba como un servidor independiente, no como un servidor de dominio. Como resultado de la configuración, cada usuario tendrá su directorio propio accesible a través del protocolo SMB y todos los usuarios tendrán un directorio compartido con acceso de lectura/escritura.

    1 Notas preliminares

    Estamos usando un sistema Ubuntu 11.04 con el nombre de host server1.example.com y con la dirección IP 192.168.0.100.

    Todos los pasos de este tutorial se ejecutan con accesos de root. Asegúrate de haberte logeado como root:

    sudo su

    2 Instalando Samba

    Conectese a su servidor via shell e instale los paquetes de Samba:

    apt-get install libcups2 samba samba-common

    Edite el fichero smb.conf :

    vi /etc/samba/smb.conf

    En la sección global, elimine el signo «#» del principio de la línea security = user para que quede como esto:

    [...]
    # "security = user" is always a good idea. This will require a Unix account
    # in this server for every user accessing the server. See
    # /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
    # in the samba-doc package for details.
       security = user
    [...]

    Esto habilita a los usuarios de Linux para logearse en el servidor Samba.

    Cierre el fichero y reinicie Samba:

    /etc/init.d/smbd restart

    3 Añadiendo Directorios Samba

    Ahora, añadiremos el directorio que será accesible por todos los usuarios.

    Crea el directorio para compartir los ficheros y cambia el grupo al grupo users:

    mkdir -p /home/shares/allusers
    chown -R root:users /home/shares/allusers/
    chmod -R ug+rwx,o+rx-w /home/shares/allusers/

    Al final del fichero /etc/samba/smb.conf añade las lineas siguientes:

    vi /etc/samba/smb.conf

    [...]
    [allusers]
      comment = All Users
      path = /home/shares/allusers
      valid users = @users
      force group = users
      create mask = 0660
      directory mask = 0771
      writable = yes

    Si quiere que todos los usuarios tengan acceso de lectura y escritura a sus directorios particulares via Samba, añade las siguientes líneas al fichero /etc/samba/smb.conf:

    [...]
    [homes]
       comment = Home Directories
       browseable = no
       valid users = %S
       writable = yes
       create mask = 0700
       directory mask = 0700

    Ahora reinicie Samba:

    /etc/init.d/smbd restart

    4 Añadiendo y Gestionando Usuarios

    En este ejemplo añadiremos un usuario llamado tom. Puedes añadir tantos usuarios como sea necesario de la misma forma, solo reemplaza el nombre tom con el nombre deseado en los comandos.

    useradd tom -m -G users

    Añada una clave para el usuario tom en la base de datos de usuarios. Si el usuario tom no de sebe logear en el servidor Linux, sáltese este paso.

    passwd tom

    -> Introduzca la clave para el nuevo usuario.

    Ahora añada el usuario a la base de datos de usuarios Samba:

    smbpasswd -a tom

    -> Introduzca ahora la clave para el nuevo usuario.

    Ahora deberia logearse desde un ordenador Windows a través del explorador de fichero (la dirección es 192.168.0.100 o 192.168.0.100tom para el directorio particular de tom) usando el nombre de usuario tom y la clave especificada y almacenar ficheros tamto en la carpeta particular de tom o en el directorio compartido.

     

    Este artículo es una traducción del original.

  • Transmission-daemon on a headless Ubuntu server

    Use Transmission-daemon on a headless Ubuntu server for remote control the torrents. Here I installed Transmisiion-daemon in a headless server running Ubuntu.

    Transmission is a fast, simple and cross-platform free BitTorrent client,  feature spotlight are,

    • Uses fewer resources than other clients
    • Native Mac, GTK+ and Qt GUI clients
    • Daemon ideal for servers, embedded systems, and headless use
    • All these can be remote controlled by Web and Terminal clients
    • Bluetack (PeerGuardian) blocklists with automatic updates
    • Full encryption, DHT, PEX and Magnet Link support

    Check new release at www.transmissionbt.com.

    Installation(Ubuntu)
    $ sudo apt-get install transmission-cli transmission-common transmission-daemon

    Start and stop Daemon
    $ sudo /etc/init.d/transmission-daemon start (stop)

    Edit Configuration Settings

    First, stop the daemon before editing.

    $ sudo nano /etc/transmossion-daemon/settings.json

    Some options(ref to WIKI):

    • download-dir: String
    • incomplete-dir: String (directory to keep incomplete files in)
    • incomplete-dir-enabled: Boolean (default = false) When enabled, new torrents will download the files to incomplete-dir. When complete, the files will be moved to download-dir.
    • watch-dir: String
    • watch-dir-enabled: Boolean (default = false)
    • rpc-authentication-required: Boolean (default = false)
    • rpc-bind-address: String (default = “0.0.0.0″) Where to listen for RPC connections
    • rpc-enabled: Boolean (default = true)
    • rpc-password: String
    • rpc-port: Number (default = 9091)
    • rpc-username: String
    • rpc-whitelist: String (Comma-delimited list of IP addresses. Wildcards allowed using ‘*’. Example: “127.0.0.*,192.168.*.*”, Default: “127.0.0.1″ )
    • rpc-whitelist-enabled: Boolean (default = true)

    My sample setting file for example:
    {
    “blocklist-enabled”: 0,
    “download-dir”: “/home/user/downloads”,
    “incomplete-dir”: “/home/user/tpm”,
    “incomplete-dir-enabled”: 1,
    “download-limit”: 100,
    “download-limit-enabled”: 0,
    “encryption”: 1,
    “lazy-bitfield-enabled”: 1,
    “message-level”: 2,
    “open-file-limit”: 32,
    “peer-limit-global”: 240,
    “peer-limit-per-torrent”: 60,
    “peer-port”: 51413,
    “peer-port-random-enabled”: 0,
    “peer-port-random-high”: 65535,
    “peer-port-random-low”: 1024,
    “peer-socket-tos”: 0,
    “pex-enabled”: 1,
    “port-forwarding-enabled”: 1,
    “preallocation”: 1,
    “proxy”: “”,
    “proxy-auth-enabled”: 0,
    “proxy-auth-password”: “”,
    “proxy-auth-username”: “”,
    “proxy-enabled”: 0,
    “proxy-port”: 80,
    “proxy-type”: 0,
    “rpc-authentication-required”: 1,
    “rpc-enabled”: 1,
    “rpc-password”: “transmission”,
    “rpc-port”: 9091,
    “rpc-username”: “transmission”,
    “rpc-whitelist”: “*”,
    “rpc-whitelist-enabled”: 1,
    “upload-limit”: 100,
    “upload-limit-enabled”: 0,
    “upload-slots-per-torrent”: 14
    }

    transmission-remote-gui

    Transmission Remote GUI is a tool to remotely control Transmission-daemon via its RPC  protocol. You can download native applications for Windows, Linux and Mac OS X. In Linux, to make the file «transgui» executable by doing the following,

    $ sudo chmod +x transgui

    I encountered difficulties with file permissions when I had Transmission save downloads within the /var/lib/transmission-daemon/. Therefore, I changed Transmissions setting to download to a folder within my home directory. To ensure that both I and the debian-transmission user had read/write permissions, I added my account to the debian-transmission group (which is created when you install transmission), and I changed the group ownership of my torrent download directory to debian-transmission. Doing so grants the debian-transmission group read/write access to that folder, preserves read/write/execute access for my account, and prevents access to all others.

    $ sudo usermod -a -G debian-transmission mjdescy
    $ chgrp debian-transmission ~/dl/torrent
    $ chmod 770 ~/dl/torrent

  • Comandos útiles (II)

    Obtener una lista de los servidores ssh activos en una red local:

    nmap -p 22 --open -sV 192.168.2.0/24

     

     

     

    Entrada original en : commandlinefu.com

  • Zeya, comparte tu música

    Zeya es un media player que permite ofrecer tu música a cualquier ordenador a través de un navegador web.
    El cliente corre en cualquier navegador que soporte el formato HTML 5 — no se necesita Flash, ni Silverlight, ni applets, ni plugins, ni programas externos.
    Zeya es software libre. Se puede usar bajo los términos de la licencia GNU Affero GPL, v.3 o.

    Requerimientos del servidor:

    * Python 2.5+ (2.6+ recommended)
    * oggenc
    * mpg123 (optional— for decoding MP3 files)
    * flac (optional— for decoding FLAC files)

    Instalar y ejecutar zeya

    Zeya puede facilmente instalarse ejecutando el comando en Applicaciones->Accesorios->Terminal

    sudo aptitude install zeya

    Entonces se inicia Zeya y empieza a servir toda la música del directorio dado:

    zeya --path path/to/your/music

    Por ejemplo, para servir toda la musica del directorio ~/Music:

    zeya --path ~/Music/

    Ahora, puedes obtener la musica en cualquier ordenador visitando la dirección del servidor http://ServerIPAddress:8080 con cualquier navegador.
    Si quieres cambiar el puerto del servidor, añade el parámetro –port al comando:

    zeya –port=9000 –path ~/Music/
    Original traducido desde ubuntuguide

  • Instalación de VirtualBox en Debian / Ubuntu

    vbox_logo2_gradientSimplemente tendremos que incluir la siguiente linea en el /etc/apt/sources.list.

    deb http://download.virtualbox.org/virtualbox/debian etch non-free

    Una vez incluida hacemos aptitude update para actualizar la lista de paquetes.

    Posíblemente tengamos un error porque no tenemos guardada una clave publica del repositorio. Para solucionarlo ejecutaremos:

    wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc
    -O- | sudo apt-key add -
    aptitude update

    Y por último instalaremos el paquete virtualbox

    aptitude install virtualbox

    Y ya tenemos instalado en nuestro sistema Debian VirtualBox.

    Entrada recogida de José Manuel Ruiz