Deplwaye yon aplikasyon pou Laravel 7 sou Ubuntu & Nginx

Deplwaye yon aplikasyon pou Laravel 7 sou Ubuntu & Nginx

Mwen deside fè pòtfolyo mwen an lè l sèvi avèk Laravel 7. Pou ke paj prensipal la ta dwe yon paj aterisaj, ak tout enfòmasyon ki sou li yo ta ka chanje lè l sèvi avèk panèl la admin. Se pa pwen an. Li te rive nan deplwaman. Mwen te jwenn yon koup nan leson patikilye bon sou kòman yo fè sa sou yon sèvè plen véritable ak tout pwoblèm yo. Mwen pa trè fò nan deplwaman; Mwen jeneralman pi devan pase pil konplè. Epi, si mwen ka toujou ekri ak teste nan PHP, Lè sa a, anvan jere sèvè a, elatriye. Mwen poko grandi. Men, mwen te oblije kalkile li.

Koulye a, nou pral ale nan tout etap yo, kòmanse ak lansman atravè SSH epi fini ak sit la k ap travay. Nou pral eseye evite tout enkonvenyans yo.

Ou ka jwenn enstriksyon ki sanble sou entènèt. Apre yo tout, mwen finalman jwenn li. Se vre, pa nan yon sèl kote, pa san èd nan StackOverflow, ak diman an Ris. Mwen te soufri. Se poutèt sa mwen deside senplifye lavi ou.

Nou pral fè tout bagay ak yon ti gout sou DigitalOcean. Sa a, nan kou, pa nesesè; chwazi nenpòt hosting. Lè ou rive nan yon sèvè k ap travay sou Ubuntu, tounen. Pou moun ki toujou deside fè li sou DigitalOcean, pral gen plis konsèy sou konfigirasyon yon domèn. Epi $100 lyen referans.

Tout etap espesifik DigitalOcean yo pral bay nan nòt anba tankou sa yo.

Ann kòmanse.

TL;DR (kòmand debaz sèlman)

Kreye yon itilizatè

  • ssh root@[IP-адрес вашего дроплета]
  • adduser laravel
  • usermod -aG sudo laravel
  • su laravel

Ajoute SSH sou li

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys
  • Mete kle piblik la
  • chmod 600 ~/.ssh/authorized_keys

Firewall

  • sudo ufw allow OpenSSH
  • sudo ufw enable
  • sudo ufw status

Nginx

  • sudo apt update
  • sudo apt install -y nginx
  • sudo ufw allow 'Nginx HTTP'
  • sudo ufw status

Miskl

  • sudo apt install -y mysql-server
  • sudo mysql_secure_installation, NYNNY
  • sudo mysql
  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';
  • SELECT user,authentication_string,plugin,host FROM mysql.user;
  • FLUSH PRIVILEGES;
  • exit

PHP

  • sudo apt update

  • sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https

  • sudo apt-add-repository ppa:ondrej/php

  • sudo apt update

  • 7.3: sudo apt install -y php7.3-fpm php7.3-mysql

  • 7.4: sudo apt install -y php7.4-fpm php7.4-mysql

  • sudo vim /etc/nginx/sites-available/<Ваш домен>

Konfigirasyon debaz:

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name <Ваш домен или IP>;

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

        location ~ .php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }

        location ~ /.ht {
                deny all;
        }
}

Se sèlman HTTP konfigirasyon pou Laravel:

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

    root /var/www/html/<Имя проекта>/public;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name <Ваш домен или IP>;

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

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

HTTPS anviwònman pou Laravel:

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

    server_name <Ваш домен> www.<Ваш домен>;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name <Ваш домен> www.<Ваш домен>;
    root /var/www/html/<Имя проекта>/public;

    ssl_certificate /etc/letsencrypt/live/<Ваш домен>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<Ваш домен>/privkey.pem;

    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_prefer_server_ciphers on;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php index.html index.htm index.nginx-debian.html;

    charset utf-8;

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

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
            deny all;
    }

    location ~ /.well-known {
            allow all;
    }
}

  • sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • sudo unlink /etc/nginx/sites-enabled/default
  • sudo nginx -t
  • sudo systemctl reload nginx

Laravel

  • 7.3: sudo apt install -y php7.3-mbstring php7.3-xml composer unzip

  • 7.4: sudo apt install -y php7.4-mbstring php7.4-xml composer unzip

  • mysql -u root -p

  • CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

  • sudo mkdir -p <Имя проекта>

  • sudo chown laravel:laravel <Имя проекта>

  • cd ./<Имя проекта>

  • git clone <ссылка на проект> . / git clone -b <имя ветки> --single-branch <ссылка на проект> .

  • composer install

  • vim .env

APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://<Ваш домен>

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=<Ваш пароль от MySQL>

  • php artisan migrate

  • php artisan key:generate

  • sudo chown -R $USER:www-data storage

  • sudo chown -R $USER:www-data bootstrap/cache

  • chmod -R 775 storage

  • chmod -R 775 bootstrap/cache

T

  • sudo add-apt-repository ppa:certbot/certbot

  • sudo apt install -y python-certbot-nginx

  • sudo certbot certonly --webroot --webroot-path=/var/www/html/<Имя проекта>/public -d <Ваш домен> -d www.<Ваш домен>

  • sudo nginx -t

  • sudo ufw allow 'Nginx HTTPS'

  • sudo ufw status

  • sudo systemctl reload nginx

Kreye yon ti gout sou DigitalOcean epi anrejistre yon nouvo kle SSH

Mwen vrèman kwè ke ou pral konnen ki jan yo enskri ak DigitalOcean tèt ou. Li pa fasil, ak anpil verifikasyon ak lòt bagay. Si ou toujou ap jwenn yon erè rezo lè w verifye w ap itilize dokiman, eseye fè tout bagay atravè yon VPN, li ta dwe ede.

Nan meni ki anlè a, klike sou Kreye->Ti gout. Chwazi Ubentu.

Le pli vit ke ou anrejistre, w ap resevwa $100 nan kont ou. Men, pa twonpe. Ou gen sèlman 60 jou pou pase l. Epi sa a se yon ti kras. Ou ka, tankou mwen, vle sèvi ak yon plan ki pi chè, pou pita, lè lajan reyèl la kòmanse koule, ou ka chanje nan yon sèl ki pi bon mache. Mwen pral di ou imedyatman ke li pa pral travay. Ou ka ogmante li, men ou pa ka diminye li. Se konsa, li ale. mwen chwazi Estanda->$5.

Mwen chwazi rejyon ki pi pre nou an Frankfurt. Rezo VPC->default-fra1

Nou pral imedyatman fè otantifikasyon atravè SSH. Klike sou Nouvo kle SSH. Si ou pa gen SSH, gen enstriksyon trè senp sou bò dwat la. Louvri yon tèminal bash epi kole ssh-keygen. Lè sa a, nou ale nan dosye a ak kle piblik la /Users/<Ваше имя пользователя>/.ssh/id_rsa.pub (oswa tou senpleman cat ~/.ssh/id_rsa.pub), kopye sa a epi kole li nan fenèt ki sou bò gòch la. Nenpòt non.

Nou vini ak yon non host pou gout la.

Pouse Kreye ti gout

Kreye yon nouvo itilizatè

  • ssh root@[IP-адрес вашего дроплета]
  • Èske w sèten ou vle kontinye konekte (wi/non/[anprent])? yes
  • Antre modpas SSH ou
  • Kreye yon itilizatè laravel: adduser laravel
  • Antre modpas ou ak lòt enfòmasyon (mwen sèlman antre non konplè)
  • Ajoute itilizatè a nan gwoup sudo a: usermod -aG sudo laravel

SSH pou nouvo itilizatè

  • Chanje nan nouvo itilizatè a: su laravel

Nou fè tout aksyon pi lwen, jouk nan fen atik la, sou non itilizatè laravel la. Se poutèt sa, si ou toudenkou koupe, re-konekte epi antre su laravel

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys

Nou louvri dosye a nan Vim. Si ou pa abitye ak li nan tout, ou ka travay nan Nano, dwa ou.

Kòmandman Vim ki pi fondamantal yo

Pou w ka itilize editè Vim nan tout atik la, ou jis bezwen konnen sa ki annapre yo.

  • Vim gen diferan mòd: mòd nòmal, kote ou antre kòmandman epi chwazi mòd ak lòt moun.
  • Pou sòti nan nenpòt ki mòd epi retounen nan mòd nòmal, jis peze Esc
  • Deplase: ou ka jis itilize flèch
  • Sòti san yo pa sove <Normal mode>: :q!
  • Sòti epi sove <Normal mode>: :wq
  • Chanje nan mòd antre tèks <Normal mode>: i (ki soti nan angle a. Antre)
  • Nou mete kle piblik nou an (sa nou te fè pi wo a)
  • Nou pwoteje kont chanjman: chmod 600 ~/.ssh/authorized_keys

Enstale yon firewall

  • Ann gade tout paramèt ki disponib yo: sudo ufw app list
  • Pèmèt OpenSSH (sinon li pral fèmen nou): sudo ufw allow OpenSSH
  • Ann lanse firewall la: sudo ufw enable, y
  • Nou tcheke: sudo ufw status

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Tout bagay anfòm.

Enstale Nginx

Pandan enstalasyon yo pral pafwa mande w "Èske w sèten?" Repons y (Oke, sèlman si ou sèten).

  • sudo apt update
  • sudo apt install nginx

Ajoute Nginx nan anviwònman firewall yo

  • sudo ufw app list
  • sudo ufw allow 'Nginx HTTP'
  • sudo ufw status

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx HTTP                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Ale nan IP ou. Si tout bagay ale byen, ou ta dwe wè sa ki annapre yo.

Deplwaye yon aplikasyon pou Laravel 7 sou Ubuntu & Nginx

Enstale MySQL

  • sudo apt install mysql-server
  • Lanse yon script pwoteksyon otomatik sudo mysql_secure_installation

Reponn kesyon yo poze yo. Si ou pa konnen kisa pou reponn, men kèk opsyon sijere:

  • Valide modpas plugin - N

  • Retire itilizatè anonim yo? — Y

  • Anpeche koneksyon rasin adistans? — N

  • Retire baz done tès ak aksè a li? — N

  • Rechaje tab privilèj kounye a? — Y

  • Ann ale nan MySQL: sudo mysql

  • Ann gade metòd aksè yo: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Mete yon modpas pou rasin: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';

  • Ann gade metòd aksè yo ankò: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Aplike chanjman yo epi sòti MySQL: FLUSH PRIVILEGES; и exit

  • Koulye a, konekte nan MySQL ou bezwen itilize mysql -u root -p epi antre modpas la

Enstale PHP

Ann sèvi ak yon depo twazyèm pati soti nan Ondrej Surý

  • sudo apt update
  • sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
  • sudo apt-add-repository ppa:ondrej/php
  • sudo apt update

Koulye a, ann chwazi. Pou Laravel 7, ou ka chwazi PHP 7.3 oswa 7.4. Sèl diferans lan pral nan nimewo 3 ak 4.

  • 7.3: sudo apt install -y php7.3-fpm php7.3-mysql
  • 7.4: sudo apt install -y php7.4-fpm php7.4-mysql

PHP FastCGI Manadjè Pwosesis (fpm) travay ak demann PHP. mysql, nan kou, pou travay ak MySQL.

Depi koulye a mwen pral fè tout bagay sou 7.4.

Mete kanpe Nginx

  • sudo vim /etc/nginx/sites-available/<Ваш домен>

Olye de "<Domèn ou>" antre nan domèn nan (pa egzanp, mysite.ru) ke ou vle itilize alavni. Si ou poko genyen youn, ekri nenpòt, epi jis repete etap sa yo nan chapit sa a pou domèn ou a lè ou chwazi li.

Antre sa ki annapre yo:

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name <Ваш домен или IP>;

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

        location ~ .php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }

        location ~ /.ht {
                deny all;
        }
}

Si ou te chwazi vèsyon 7.3 pito php7.4-fpm.sock ekri nan php7.4-fpm.sock.

Koute pò 80 sou server_namelè nou rive nan demann rasin lan /var/www/html pran fichye endèks la. Si apre server_name Gen yon bagay, nap chèche yon dosye konsa. Si nou pa jwenn li, nou jete 404. Si li fini ak .php, kouri nan fpm... Si genyen .ht, entèdi (403).

  • Fè yon lyen soti nan sites-available в sites-enabled: sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • Retire lyen pou default: sudo unlink /etc/nginx/sites-enabled/default
  • Tcheke pou erè: sudo nginx -t
  • Rdemare: sudo systemctl reload nginx

Tcheke travay la:

  • sudo vim /var/www/html/info.php
  • Nou ekri: <?php phpinfo();
  • Ann ale nan <Ваш IP>/info.php

Ou ta dwe wè yon bagay tankou sa a:

Deplwaye yon aplikasyon pou Laravel 7 sou Ubuntu & Nginx

Koulye a, yo ka efase dosye sa a: sudo rm /var/www/html/info.php

Enstale Laravel

  • 7.3: sudo apt install php7.3-mbstring php7.3-xml composer unzip

  • 7.4: sudo apt install php7.4-mbstring php7.4-xml composer unzip

  • Ann ale nan MySQL: mysql -u root -p

  • Kreye yon baz done ak non an laravel: CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • Nou bay aksè rasin nan laravel: GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

  • Kreye yon katab pou pwojè a: sudo mkdir -p <Имя проекта>

  • Nou bay itilizatè a laravel dwa pou pwojè a: sudo chown laravel:laravel <Имя проекта>

Apre sa, ou bezwen transfere pwojè a. Pou egzanp, klonaj soti nan Github.

  • cd ./<Имя проекта>
  • git clone <ссылка на проект> .

Li vo konsidere ke si ou pa t 'sove fichye estatik (pa egzanp, soti nan /public) sou Github, Lè sa a, natirèlman ou pa pral genyen yo. Pou egzanp, mwen te kreye yon fil separe pou rezoud sa a deploy, ki soti nan ki mwen deja klonaj: git clone -b <имя ветки> --single-branch <ссылка на проект> ..

  • Enstale depandans: composer install
  • Kreye .env: vim .env

Vèsyon debaz la sanble sa a:

APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://<Ваш домен>

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=<Ваш пароль от MySQL>

Si w kopye .env ou a, ranplase APP_ENV ak pwodiksyon, APP_DEBUG ak fo epi antre nan paramèt ki kòrèk pou MySQL.

  • Migrasyon baz done a: php artisan migrate
  • Jenere kòd la: php artisan key:generate

Chanje otorizasyon:

  • sudo chown -R $USER:www-data storage
  • sudo chown -R $USER:www-data bootstrap/cache
  • chmod -R 775 storage
  • chmod -R 775 bootstrap/cache

Dènye bagay ki rete a se rekonfigire Nginx pou Laravel:

sudo vim /etc/nginx/sites-available/<Ваш домен>

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

    root /var/www/html/<Имя проекта>/public;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name <Ваш домен или IP>;

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

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

Tankou dènye fwa, si ou te chwazi vèsyon 7.3 pito php7.4-fpm.sock ekri nan php7.4-fpm.sock.

Mete kanpe yon domèn sou DigitalOcean

Tout bagay aktyèlman trè senp. Ou achte yon domèn (nenpòt kote), chanje nan DigitalOcean nan Kreye->Domèn/DNS... Nan jaden Ajoute yon domèn ou antre nan domèn sa a epi klike sou ajoute. Lè sa a, ale nan anviwònman yo domèn ak nan jaden an NON LAME antre @. Chwazi yon pwojè epi klike sou Kreye dosye.
Koulye a, ale nan sit la kote ou te achte domèn nan, jwenn "DNS Servers" la (oswa yon bagay ki sanble) epi antre nan sèvè DigitalOcean yo (sètadi ns1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com). Koulye a, ou bezwen tann yon ti kras (oswa anpil) jiskaske anviwònman sa yo aksepte. Pare!
Pwoblèm nan sèlman se ke sit ou a ap louvri sèlman kòm HTTP. Pou gen HTTPS, ale nan pwochen pati a.

Mete kanpe HTTPS

Enstale certbot epi pase li non domèn (fòma mysite.ru) ak non domèn ak www (www.mysite.ru).

  • sudo add-apt-repository ppa:certbot/certbot
  • sudo apt install python-certbot-nginx
  • sudo certbot certonly --webroot --webroot-path=/var/www/html/<Имя проекта>/public -d <Ваш домен> -d www.<Ваш домен>

Koulye a, ou bezwen reconfigure Nginx (pa bliye ranplase valè ou):

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

    server_name <Ваш домен> www.<Ваш домен>;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name <Ваш домен> www.<Ваш домен>;
    root /var/www/html/<Имя проекта>/public;

    ssl_certificate /etc/letsencrypt/live/<Ваш домен>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<Ваш домен>/privkey.pem;

    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_prefer_server_ciphers on;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php index.html index.htm index.nginx-debian.html;

    charset utf-8;

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

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
            deny all;
    }

    location ~ /.well-known {
            allow all;
    }
}

Mwen panse ou deja konprann sa ki bezwen chanje pou PHP 7.3.

Isit la, an reyalite, tout bagay se senp. Nou senpleman redireksyon tout demann soti nan HTTP (pò 80) nan HTTPS (pò 443). Epi la nou fè tout bagay menm jan ak anvan, men ak chifreman.

Tout sa ki rete se mete otorizasyon yo nan firewall la:

  • sudo nginx -t
  • sudo ufw app list
  • sudo ufw allow 'Nginx HTTPS'
  • sudo ufw status
  • sudo systemctl reload nginx

Koulye a, tout bagay ta dwe travay jan li ta dwe.

[Avanse] Enstale Node.js

Si ou toudenkou bezwen kouri kòmand npm dirèkteman sou sèvè a, ou bezwen enstale Node.js.

  • sudo apt update
  • sudo apt install -y nodejs npm
  • nodejs -v

Sa a, mwen te kanpe nan etap sa a. An prensip, mwen satisfè ak rezilta a. Petèt mwen pral chanje soti nan DigitalOcean yon kote ki pi pre Larisi ak pi bon mache. Men, kòm mwen te deja ale nan tout jij yo verifikasyon sou sit la ak fè tout bagay la, mwen te montre yo pa egzanp. Anplis de sa, $100 kòmanse yo se yon tranplen ekselan pou fòmasyon.

PS Mèsi espesyal pou otè a esansyèl sa a, ki te sèvi kòm baz pou tout aksyon ki anwo yo. Nan kèk ka li pa travay pou Laravel 7, mwen ranje li.

PPS Si w ta rive yon enjenyè tèt ki panse nan kòmandman bash, tanpri pa jije sevè. Ou ka jwenn atik sa a nan yon nivo ki ba, men mwen ta byen kontan jwenn youn lè mwen te bezwen li. Si gen sijesyon pou amelyorasyon, mwen tout pou li.

Sous: www.habr.com

Add nouvo kòmantè