OVH. VPS Essential jaumebalmes.net
Contingut
- 1 Compte d'usuari
- 2 VPS Essential
- 3 Posta a punt
- 4 Instal·lar docker-compose
- 5 Creació de bases de dades dels alumnes
- 6 Instal·lació de Node
- 7 Repàs bàsic de creació d'usuaris
- 8 Creació d'un docker bàsic Apache-PHP
- 9 Instal·lació Python
- 10 Servidor FTP: ProFTPd
- 11 Registre de domini a noip.com: http://xxx.ddns.net
- 12 Instal·lació de certificat SSL
- 13 Instal·lació MongoDB
- 14 Cas pràctic: dockeritzar una aplicació. Hauk
- 15 Nota informativa alumnes
Compte d'usuari
- jquintana@jaumebalmes.net / k******I_k
VPS Essential
ESSENTIAL 10 € + IVA/mes Compromiso de 12 meses (-8%) **Compromiso de 24 meses (-15%) -> 8,50 € + IVA/mes 2 vCore 4 GB 80 GB SSD NVMe 500 Mb/s Ilimitado* Sólo distribución Ubuntu versió 21.10 Europa Occidental, Francia, Estrasburgo (SBG) Snapshot: NO Almacenamiento adicional: NO Backup automatizado: NO
Su VPS acaba de instalarse con el siguiente sistema operativo/distribución: Ubuntu 21.10 PARÁMETROS DE ACCESO: Dirección IPv4 del VPS: 5.196.26.105 Nombre del VPS: vps-89148e22.vps.ovh.net En el VPS se ha configurado la siguiente cuenta de administrador: Usuario: ubuntu Contraseña: 8********** PARA EMPEZAR: Si es la primera vez que se conecta a un VPS, le recomendamos que consulte la siguiente guía: http://www.ovh.es/g1260.como-conectarse-a-un-vps
Posta a punt
Passos previs
sudo apt-get install joe sudo apt-get install unzip
Instal·lar Apache
sudo apt-get install apache2
ja tenim el Apache instal·lat i funcionant
Instal·lar mysql
$ sudo apt-get install mysql-server $ sudo su # mysql -h localhost -u root mysql>
Per entrar al mysql sense haver de fer sudo, hem de fer:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'k*******'; mysql> FLUSH PRIVILEGES;
ara ja puc entrar al mysql amb l'usuari normal:
mysql> exit # exit $ mysql -h localhost -u root -pk******* mysql>
Important:
$ sudo apt-get install php php-cli php-mysql $ $ sudo apt-get install libapache2-mod-php
PHP-MySQL mínim
<?php $servername = "localhost"; $username = "nom_usuari"; $password = "********"; $dbname = "nom_usuari"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id,nom FROM PROVA"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]." - Nom: ".$row["nom"]."<br>"; } } else { echo "0 results"; } $conn->close(); ?>
Connexions remotes al mysql
3 passos:
1. Activar el Firewall i obrir el port 3306. compte!: sembla ser que això no és necessari. Està obert el port 3306 per defecte?
$ nc -zv vps-89148e22.vps.ovh.net 3306 Connection to vps-89148e22.vps.ovh.net 3306 port [tcp/mysql] succeeded!
2. Configurar my.cnf i permetre connexions remotes.
Editar /etc/mysql/mysql.conf.d/mysqld.cnf
# bind-address = 127.0.0.1
n'hi ha prou en comentar aquesta línia, que per defecte està descomentada (activada) i, important, reiniciar MySQL.
3. Que l'usuari amb què ens volem connectar tingui permisos de connexió remota:
CREATE USER nom_usuari@localhost IDENTIFIED BY 'keiL2lai'; CREATE USER 'nom_usuari'@'%' IDENTIFIED BY 'keiL2lai'; GRANT ALL ON nom_usuari.* TO 'nom_usuari'@'%' WITH GRANT OPTION; flush privileges;
I ara ja ens podem connectar:
$ mysql -h vps-89148e22.vps.ovh.net -u nom_usuari -pkeiL2lai -D nom_bd
I des de PHP:
<?php $servername = "vps-89148e22.vps.ovh.net"; $username = "nom_usuari"; $password = "keiL2lai"; $dbname = "nom_bd"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } ?>
SSH sense demanar password
3 passos molt simples. Es tracta de generar una clau pública en el portàtil, i enviar-la al servidor, per tal de què confïi en el portàtil.
$ ssh-keygen -b 4096 -t rsa
Es generen dos fitxers: la clau privada i la clau pública:
- .ssh/id_rsa
- .ssh/id_rsa.pub
$ ssh-copy-id ubuntu@vps-89148e22.vps.ovh.net
i ara ja podem entrar:
$ ssh ubuntu@vps-89148e22.vps.ovh.net $ scp hola.txt ubuntu@vps-89148e22.vps.ovh.net:/home/ubuntu
NOTA: per tal de què funcioni el directori home de l'usuari només pot ser writable per ell mateix (permisos 755).
A Windows
En una instal·lació de Windows, les comandes ssh i scp ja estan instal·lades. Per tant, no cal instal·lar Putty (tot i que també es pot utilitzar si és la teva preferència).
Igual que a Linux:
ssh-keygen -b 4096 -t rsa
Es generen dos fitxers: la clau privada i la clau pública:
- .ssh/id_rsa
- .ssh/id_rsa.pub
Hem de copiar la clau pública al servidor. Com que la comanda ssh-copy-id no existeix a Windows, no passa res, ho farem manualment. Primer entrem al servidor:
$ ssh nom_usuari@vps-89148e22.vps.ovh.net $ mkdir .ssh $ nano .ssh/authorized_keys
I el que fem ara és copiar tot el contingut del fitxer local .ssh/id_rsa.pub a dins del fitxer authorized_keys que acabem de crear manualment. Això es pot fer de vàries maneres, però amb un copiar-enganxar també funciona.
El contingut que hem de copiar és similar a:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDhJDOxRW5PSIb1RRo...
I acaba amb el nom de la vostra màquina local.
Sortim de la sessió remota ($ exit) i ja podem tornar a entrar sense que ens demani el password:
$ ssh nom_usuari@vps-89148e22.vps.ovh.net
Instal·lar Docker
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Aquesta instrucció ja no funciona. El que ha funcionat és:
To install Docker for Kali 2020.1 debian amd64 run the following: curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/docker-ce-archive-keyring.gpg > /dev/null then: echo 'deb [arch=amd64] https://download.docker.com/linux/debian buster stable' | sudo tee /etc/apt/sources.list.d/docker.list sudo apt-get update sudo apt-get install docker-ce
i ja tinc instal·lat el docker. Per tal de no utilitzar sudo:
$ sudo groupadd docker (ja existeix) $ sudo usermod -aG docker $USER
I ja puc fer el primer contenidor de prova:
$ docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:4c5f3db4f8a54eb1e017c385f683a2de6e06f75be442dc32698c9bbe6c861edd Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1e09e771f789 hello-world "/hello" 28 seconds ago Exited (0) 28 seconds ago boring_proskuriakova
Instal·lar docker-compose
Creació s'usuaris
Amb l'usauri ubuntu creem els usuaris. Per ex, per crear l'usuari nom_usuari:
sudo useradd -d /home/nom_usuari -s /bin/bash -m nom_usuari sudo passwd nom_usuari sudo mkdir /home/nom_usuari/html sudo su # sudo echo "Benvingut nom_usuari" > /home/nom_usuari/html/index.html sudo chown -R nom_usuari:nom_usuari /home/nom_usuari # exit sudo chmod -R 755 /home/nom_usuari
Editem el fitxer de configuració de l'Apache:
sudo nano /etc/apache2/sites-available/000-default.conf Alias /nom_usuari "/home/nom_usuari/html/" <Directory "/home/nom_usuari/html/"> Options Indexes MultiViews FollowSymLinks AllowOverride All Require all granted DirectoryIndex index.html default.html index.php </Directory> sudo /etc/init.d/apache2 restart
i ja funciona:
Si volem que aquest usuari sigui del grup sudoers:
$ usermod -aG sudo nom_usuari
Ara que ja tenim l'usuari creat, aquest usuari ja pot fer ssh:
$ ssh nom_usuari@vps-89148e22.vps.ovh.net
Per tal de que l'usauri es pugui canviar el seu password:
nom_usuari$ passwd
Per tal de poder entrar per SSH sense que demani el password, veure més amunt.
Creació de bases de dades dels alumnes
Des del root del mysql:
CREATE DATABASE nom_usuari DEFAULT CHARACTER SET utf8; CREATE USER nom_usuari@localhost IDENTIFIED BY 'keiL2lai'; GRANT ALL ON nom_usuari.* TO nom_usuari@localhost WITH GRANT OPTION;
I ara l'usuari nom_usuari ja pot entrar a la base de dades nom_usuari:
$ ssh nom_usuari@vps-89148e22.vps.ovh.net nom_usuari@vps-89148e22:~$ mysql -h localhost -u nom_usuari -pkeiL2lai nom_usuari mysql>
I té permisos per fer allò que vulgui en aquesta bd.
Instal·lació de Node
$ sudo apt-get install nodejs $ nodejs --version v12.22.5 $ sudo apt-get install npm $ npm --version 7.5.2
No són les últimes versions. Per instal·lar les últimes versions:
1. First, clear the npm cache:
$ npm cache clean -f
2. Install n, Node's version manager:
$ sudo npm install -g n
3. With the n module installed, you can use it to:
$ sudo n latest installing : node-v17.8.0 mkdir : /usr/local/n/versions/node/17.8.0 fetch : https://nodejs.org/dist/v17.8.0/node-v17.8.0-linux-x64.tar.xz installed : v17.8.0 (with npm 8.5.5)
Tanco la consola i em torno a connectar:
$ node --version v17.8.0 $ npm --version 8.5.5
Mòdul node-mysql
$ sudo apt-get install node-mysql (no cal)
Millor la versió 2 del mòdul. Ho instal·lem globalment, i ho salvem (--save) per tal de què funcioni a la primera:
$ sudo npm install -g mysql2 $ sudo npm install mysql2 --save
Exemple mínim:
var mysql = require('mysql2'); var connection = mysql.createConnection({ host : 'localhost', port : 3306, database: 'nom_usuari', user : 'nom_usuari', password : '*******' }); connection.query("select * from PROVA", function(err, rows){ if(err != null) { res.end("Query error:" + err); } else { for (var i = 0; i < rows.length; i++) { console.log(rows[i].nom); }; } }); connection.end();
$ node exemple_minim.js
Repàs bàsic de creació d'usuaris
Per veure la llista d'usuaris:
$ cat /etc/passwd $ less /etc/passwd
Si només volem printar els noms d'usuari:
$ awk -F: '{ print $1}' /etc/passwd $ cut -d: -f1 /etc/passwd
The command below will list all normal users in our Linux system:
$ getent passwd {1000..60000}
$ sudo useradd -m username
(l'opció -m és per crear el directori home de l'usuari)
Per poder fer login necessitem donar-li un password:
$ sudo passwd username
Per eliminar l'usuari (i el seu directori home):
$ sudo userdel -r username
Creació d'un docker bàsic Apache-PHP
$ mkdir docker-apache $ cd docker-apache $ mkdir src/
$ joe src/taules_multiplicar.php <?php for ($taula=1; $taula <=10 ; $taula++){ echo 'Taula del '.$taula.'<br />'; for ($x=1; $x <=10 ; $x++){ echo '[ '.$taula.' * '.$x.' = '.$taula*$x.' ] '; } echo '<hr />'; } ?>
Creem el fitxer de configuració Dockerfile:
$ joe Dockerfile FROM php:7.4-apache COPY src/ /var/www/html EXPOSE 80
i creem el docker:
$ docker build -t apache-joan . Sending build context to Docker daemon 3.584kB Step 1/3 : FROM php:7.4-apache 7.4-apache: Pulling from lib ... Successfully built 0d0d3399bd52 Successfully tagged apache-joan:latest
Ja podem arrencar el docker:
$ docker run -p 8080:80 apache-joan
I ja funciona:
Millor arrencar el docker en mode deamon:
$ docker run -p 8080:80 -d apache-joan 7fd7257f5a77bfd8d39a837ec99a28082486bc30301ceb4ef4fe7e19dad88895
Efectivament està arrencat i funciona:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7fd7257f5a77 apache-joan "docker-php-entrypoi…" 56 seconds ago Up 56 seconds 0.0.0.0:8080->80/tcp, :::8080->80/tcp vibrant_herschel
Per aturar-lo quan ja no el necessitem:
$ docker stop 7fd7257f5a77
Ja no el veiem fent docker ps, però sí que el veiem fent docker ps -a.
I per tornar-lo a arrencar:
$ docker start 7fd7257f5a77
Instal·lació Python
- python3 - interactive high-level object-oriented language (default python3 vers
- python3.9 - Interactive high-level object-oriented language (version 3.9)
No cal instal·lar Python, ja ve instal·lat per defecte:
$ python3 --version Python 3.9.7
Llibreries numèriques
- python3-numpy - Fast array facility to the Python 3 language
- python3-matplotlib - Python based plotting system in a style similar to Matlab (Python 3)
- python3-scipy - scientific tools for Python 3
- python3-sympy - Computer Algebra System (CAS) in Python (Python 3)
$ sudo apt-get install python3-numpy $ sudo apt-get install python3-matplotlib $ sudo apt-get install python3-scipy $ sudo apt-get install python3-sympy
Exemple:
import numpy as np import sympy as sp from sympy.abc import t from sympy import exp import matplotlib.pyplot as plt from scipy import constants print(constants.pi) x = sp.symbols('x') y = sp.Function('y') # y'' + 3y' - 10y = 5t^2 print('Exemple: y\'\' + 3y\' - 10y = 5t^2') y1 = sp.dsolve(y(t).diff(t,t) + 3*y(t).diff(t) - 10*y(t) - 5*t**2, y(t)) print(y1) # Eq(y(t), C1*exp(-5*t) + C2*exp(2*t) - t**2/2 - 3*t/10 - 19/100) print("que és la solució que hem trobat a EDO2-45") # y'' - y' - 6y = 10exp(3t) print('\nExemple: y\'\' - y\' - 6y = 10*exp(3t)') y1 = sp.dsolve(y(t).diff(t,t) - y(t).diff(t) - 6*y(t) - 10*exp(3*t), y(t)) print(y1) # Eq(y(t), C2*exp(-2*t) + (C1 + 2*t)*exp(3*t))
Mòdul MySQL
- python3-mysql.connector - pure Python implementation of MySQL Client/Server protocol (Python3)
$ sudo apt-get install python3-mysql.connector
Exemple mínim exemple_minim.py:
import mysql.connector cnx = mysql.connector.connect(host='localhost',user='nom_usuari', password='******', database='nom_usuari') cursor = cnx.cursor() query = ("SELECT * FROM PROVA") cursor.execute(query) for (id, nom) in cursor: print("{}, {}".format(id,nom)) cursor.close() cnx.close()
$ python3 exemple_minim.py
Python Flask (Python per fer aplicacions web)
Instal·lem el mòdul:
- python3-flask - micro web framework based on Werkzeug and Jinja2 - Python 3.x
sudo apt-get install python3-flask
Seguint ell tutorial, el script mínim és:
script hello.py:
from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "<p>Hello, World!</p>"
I per tal d'arrencar el servei: <pre> $ export FLASK_APP=hello $ flask run * Running on http://127.0.0.1:5000/
I l'aplicació la podríem veure a:
(efectivament si fem $ wget http://127.0.0.1:5000/ funciona)
Però en el servidor hem de fer: $ flask run -h vps-89148e22.vps.ovh.net
i millor utilitzar la IP:
Però per tal de què funcioni s'ha d'obrir el port 5000 en el servidor OVH. Està documentat a:
Resumint:
- Hem d'anar a la secció IP.
- Crear Firewall
- Hem creat el Firewall, i d'entrada està desactivat.
- Ara hem d'anar a primer a Activar el Firewall; i després a Configurar el Firewall.
- Afegir una regla: 0 és la primera regla a aplicar; autoritzem el port 5000; TCP
En comptes d'utilitzar el nom de domini vps-89148e22.vps.ovh.net, utilitzem la IP: 5.196.26.105. I ja funciona:
Ara que veiem que funciona, tornem a treure la regla i desactivar el firewall.
Servidor FTP: ProFTPd
$ sudo apt-get install proftpd
Arxiu principal de configuració:
- /etc/proftpd/proftpd.conf
# Use this to jail all users in their homes # DefaultRoot ~
Així doncs descomentem aquesta línia per tal de què els usuaris es connectin al seu home:
DefaultRoot ~
Al final del fitxer de configuració:
AccessGrantMsg "Benvingut"
Reiniciem el servidor (o millor carreguem la nova configuració):
$ sudo /etc/init.d/proftpd restart o millor $ sudo /etc/init.d/proftpd reload o bé $ service proftpd start $ systemctl start proftpd
I ja ens podem connectar en línia de comanda:
$ ftp -p vps-89148e22.vps.ovh.net usuari: 230 User nom_usuari logged in Remote system type is UNIX. ftp> help
Comandes principals:
cd, bye, delete, dir, get, ls, put, quit
Si no funciona fer un simple dir és perquè ens hem de connectar amb passive mode:
S'ha d'invocar ftp amb l'opció -p (passive mode):
-p Use passive mode for data transfers. Allows use of ftp in environ‐ ments where a firewall prevents connections from the outside world back to the client machine. Requires that the ftp server support the PASV command. This is the default if invoked as pftp
$ ftp -p vps-89148e22.vps.ovh.net ftp> dir ftp> cd html ftp> put fitxer.txt (pugem un fitxer local al servidor) ftp> get fitxer.txt (descarreguem un fitxer del servidor)
Per pujar o descarregar múltiples fitxers també tenim mput i mget, però per això tenim els clients gràfics com ara el filezilla.
Per descarregar el contingut de la carpeta html/ podem fer:
$ wget -r -nH -nc ftp://nom_usuari:password@vps-89148e22.vps.ovh.net//html/
Si el que volem és pujar un directori, necessito alguna utilitat com ara ncftpput.
El més pràctic és utilitzar un client de FTP, com Filezilla:
$ cd FileZilla3/bin/ $ ./filezilla Amfitrió: vps-89148e22.vps.ovh.net usuari: password:
Per tal de què no demani el password es pot activar la capa TLS tal com s'explica a:
Registre de domini a noip.com: http://xxx.ddns.net
Fins ara hem accedit al servidor web amb el domini:
Volem accedir amb un nom de domini gratuït i personalitzat. Per exemple, una web on es proporcionen DNS dinàmics:
Ens registrem:
- username: jquintana@jaumebalmes.net / k*******
- nom de domini: jquintana.ddns.net
Escollim l'opció Free SignUp:
Thank you for creating a No-IP free Dynamic DNS account! In order to start using your account, you will need to activate your account via email. Simply click the link in the email to get started. Once you have activated your account, you will be able to add/edit hostnames and finish configuring your account. How to remote access your device: Step 1 - Create a Hostname. (this step is already complete) -> ja està fet Step 2 - Download the Dynamic Update Client (DUC). -> ara anem a fer aquest pas The DUC keeps your hostname updated with your current IP address. Step 3 - Port Forward your router. -> no cal
dynamic update client:
Our Dynamic DNS Update Client continually checks for IP address changes in the background and automatically updates the DNS at No-IP whenever it changes.
Instruccions. Connectats per SSH al servidor:
cd /usr/local/src/ wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz tar xf noip-duc-linux.tar.gz cd noip-2.1.9-1/ make install ... Only one host [jquintana.ddns.net] is registered to this account. It will be used. ... New configuration file '/tmp/no-ip2.conf' created. mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.conf
Però encara no funciona:
I és que si mirem a la pàgina de noip.com, en l'espai associat a jquintana.ddns.net, veiem que encara no s'ha actualitzat mai la IP.
I és que hem fet la instal·lació, però no hem executat el script.
$ /usr/local/bin/noip2 -S Can't locate configuration file /usr/local/etc/no-ip2.conf. (Try -c). Ending!
I la solució és que li hem de donar permisos de rw al fitxer de configuració (el propietari del fitxer de configuració és el root).
Per activar el servei: (compte que això no implica que s'activi en l'inici del sistema)
$ /usr/local/bin/noip2 -S 1 noip2 process active. Process 1818, started as noip2, (version 2.1.9) Using configuration from /usr/local/etc/no-ip2.conf Last IP Address set 5.196.26.105 Account jquintana@jaumebalmes.net configured for: host jquintana.ddns.net Address check every 1 minute, directly connected via /dev/ens3.
I ara ja funciona:
Instal·lació de certificat SSL
Tenim funcionant l'Apache, però no és https:
Volem fer funcionar:
Hem d'instal·lar un certificat SSL:
Entrem al servidor, i veiem que snap ja està instal·lat: ssh ubuntu@vps-89148e22.vps.ovh.net
$ snap The snap command lets you install, configure, refresh and remove snaps.
Seguim els passos:
3. Ensure that your version of snapd is up to date
$ sudo snap install core; sudo snap refresh core
5. Install Certbot
$ sudo snap install --classic certbot certbot 1.27.0 from Certbot Project (certbot-eff✓) installed
6. Prepare the Certbot command
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
7. Choose how you'd like to run Certbot Run this command to get a certificate and have Certbot edit your apache configuration automatically to serve it, turning on HTTPS access in a single step.
$ sudo certbot --apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): jquintana@jaumebalmes.net Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): vps-89148e22.vps.ovh.net Error creating new order :: too many certificates already issued for: ovh.net: see https://letsencrypt.org/docs/rate-limits/
Per tant, la solució seria tenir un domini propi (gratuït). Per exemple, jquintana.ddns.net, com està explicat en l'apartat anterior.
I ara sí que funciona:
$ sudo certbot --apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): jquintana@jaumebalmes.net Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): jquintana.ddns.net Saving debug log to /var/log/letsencrypt/letsencrypt.log Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): jquintana.ddns.net Requesting a certificate for jquintana.ddns.net Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/jquintana.ddns.net/fullchain.pem Key is saved at: /etc/letsencrypt/live/jquintana.ddns.net/privkey.pem This certificate expires on 2022-08-09. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for jquintana.ddns.net to /etc/apache2/sites-available/000-default-le-ssl.conf Congratulations! You have successfully enabled HTTPS on https://jquintana.ddns.net
I ja està, ja funciona (com veiem en la imatge, tenim el candau):
Instal·lació MongoDB
$ wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - $ sudo joe /etc/apt/sources.list.d/mongodb-org-5.0.list deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse $ sudo apt-get update $ sudo apt-get install -y mongodb-org
Ara hem d'iniciar el servei:
$ sudo systemctl start mongod
i ja podem entrar al mongo:
$ mongo > show dbs admin 0.000GB config 0.000GB local 0.000GB
Cas pràctic: dockeritzar una aplicació. Hauk
Nota informativa alumnes
Ja se t'ha donat d'alta al servidor vps-89148e22.vps.ovh.net. Nom d'usuari: xxxx password: keiL2lai Per entrar al servidor ho faràs amb SSH: $ ssh nom_usuari@vps-89148e22.vps.ovh.net Per canviar el password del SO, en la primera sessió: $ passwd Per accedir al mysql, s'ha creat la base de dades 'nom_usuari', sobre la que tens tots els permisos: $ mysql -h localhost -u nom_usuari -pkeiL2lai nom_usuari mysql> SHOW DATABASES; Si vols accedir per SSH sense que demani el password: *https://wiki.joanillo.org/index.php/OVH._VPS_Essential_jaumebalmes.net#SSH_sense_demanar_password Per tal d'enviar un fitxer al servidor, utilitzaràs scp (secure copy): $ scp <origen> <destí> $ scp ruta_local/fitxer.txt nom_usuari@vps-89148e22.vps.ovh.net:/ruta/remota '''NOTA''': si utilitzen Windows en prinicipi ja tens instal·lat el ssh en línia de comandes, i també scp. '''NOTA''': en el remot només tens permisos per a /home/nom_usuari i tot el que pengi d'aquí. També pots enviar un fitxer del servidor al local: $ scp nom_usuari@vps-89148e22.vps.ovh.net:/ruta_remota/fitxer.txt ruta_local/ Si vols importar una base de dades (per exemple, del teu wordpress local al servidor), primer has d'exportar la teva base de dades al format SQL (wordpress.sql). Aquest fitxer l'envies al servidor (scp). I finalment l'has d'importar a la teva base de dades, de la següent manera: $ mysql -h localhost -u nom_usuari -pkeiL2lai -D nom_usuari < ruta_remota/wordpress.sql Per comprovar que ha anat bé, entres al mysql: $ mysql -h localhost -u nom_usuari -pkeiL2lai -D nom_usuari mysql> show tables Més informació: *https://wiki.joanillo.org/index.php/OVH._VPS_Essential_jaumebalmes.net
creat per Joan Quintana Compte, març 2022, abril 2022