Installation
⚡ Az alábbi telepítési útmutató saját VPS, vagy Dedikált Szerveren történő telepítés esetén iránymutató ⚡
Előfeltételek
- VPS fiók (AWS, VULTR, Google Cloud stb.)
- Hozzárendelt domain név
- Hozzáférés a DNS konfigurációhoz
VPS telepítése
AWS Lightsail szerver esetén
Előkészületek (AWS)
-
Jelentkezzen be AWS fiókjába, és válasszon egy Lightsail szerver Instance-et.
-
Kattintson a "Create Instance" gombra, majd a "Linux / Unix" alatt válassza az "Operating System (OS only)" lehetőséget.
-
Ubuntu 22.04 LTSkiválasztása után válassza ki a megfelelő szerver méretet, pl.:- 4 GB memória
- 2 vCPU
- 80 GB SSD tárhely
- 4 TB adatforgalom
A következő runtime komponenseket fogjuk telepíteni:
- Docker szerver
- Docker Compose
- NGINX
Docker szerver telepítése
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Ellenőrzés
Ha a "Hello from Docker!" üzenet megjelenik, a telepítés sikeres volt!
sudo docker run hello-world
Docker Compose telepítése
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Ellenőrzés
docker-compose --version
NGINX telepítése
sudo apt update
sudo apt install nginx -y
Ellenőrzés
nginx -v
Felhasználó létrehozása és konfigurálása a chatbot telepítéséhez
Egy új felhasználót fogunk létrehozni "chatuser" néven, de bármilyen más név használható. A rendszer kéri majd a jelszót a felhasználóhoz:
sudo adduser chatuser
sudo usermod -aG docker chatuser
Jelentkezzen be az új felhasználóként, és másolja a Git repót
su - chatuser
git clone https://github.com/promptchat/chatbot.git promptchat
cd /home/chatuser/promptchat
Másolja le a konfigurációs fájlt, majd írja be a megfelelő értékeket
Feltételezve, hogy a /home/chatuser/promptchat mappában van.
cp variables.env.example variables.env
nano variables.env
Az értékek megadása után mentse a fájlt: CTRL + O bezárás: CTRTL + X
-
DB_PASSWORDlegyen összetett, egyszerű jelszó nem használható. -
A
PORTváltozó legyen bármely szabad port.
Szabad portok ellenőrzése:
lsof -i -n -P
Licencfájl másolása a projekt könyvtárába
Cserélje le a /local/directory/license.txt útvonalat a saját gépén található licenc fájl útvonalára:
cp /local/directory/license.txt /home/chatuser/promptchat/license.txt
Chatbot telepítése
cd /home/chatuser/promptchat
bash run.sh
Ellenőrzés (helyettesítse a PORT -ot a megadottal)
bash curl -IL http://localhost:PORT
Ha a válasz 200, folytassa tovább, ellenkezőleg, kövesse a hibajavítási szakaszt.
NGINX konfigurálása
Cserélje le a domain_name értéket a saját domain nevére:
sudo nano /etc/nginx/conf.d/domain_name.conf
Írja be a fájl tartalmát
A domain_name értéknek meg kell egyeznie az APP_URL-lal, a PORT változót cserélje le a variables.env-ben megadott értékre
server {
listen 80;
server_name domain_name;
location / {
proxy_pass http://localhost:PORT;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400;
proxy_ssl_server_name on;
}
}
NGINX újraindítása
sudo systemctl restart nginx
Alkalmazás ellenőrzése
curl -IL http://domain_name
Ha a válasz 200, adjon hozzá SSL tanúsítványt (lásd az SSL szekció után), ha nem, nézze meg a hibajavítás szakaszt.
DNS beállítások konfigurálása (opcionális)
-
Jelentkezzen be a domain szolgáltatója vezérlőpaneljére és nyissa meg a DNS zóna szerkesztőt.
-
Adjon hozzá új rekordot::
-
Név: a domain, pl.
example.com -
TTL:
3600 -
Típus:
A -
Rekord: Your VPS IPv4 (IP) address
Vegye figyelembe, hogy a DNS rekord változtatásainak érvénybe lépése akár 24 órát is igénybe vehet. A beállítások érvényesülése után, a kapcsolódó tartalom (chatbot) a megfelelő domain név alatt, meg fog jelenni.
SSL
Ingyenes SSL telepítése (ha még nincs)
sudo apt install snapd
sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
Hibajavítások
⚡ Lehetséges problémák megoldása ⚡
- Ha a
docker-composetelepítve van az utasítások szerint, de az útvonal más, hozzon létre rámutató linket:
which docker-compose
- Ha a válasz pl.:
/usr/local/bin/docker-composea futtatandó parancs:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
- Ha a
run.shfuttatása után, a curl nem200válaszkódot ad:- Ellenőrizze a
/home/user_name/promptchat/sources/storage/logs/laravel-DATE.lognaplófájlok tartalmát. - Ellenőrizze a
variables.envfájlban megadott változók értékeit. Ha bármely értéket a fájlban megváltoztatja, futtassa le a következő parancsot:
- Ellenőrizze a
bash down-rmi.sh && bash run.sh
- Ha az
Access denied for user 'promptchat'@hiba jelenik meg:- Állapítsa meg a
mysqldocker konténer azonsítóját:
- Állapítsa meg a
docker ps -a |grep mysql
- A
CONTAINER_ID-et cserélje le a megfelelő azonosítóra
docker inspect CONTAINER_ID |grep IPAddress
telnet IP_ADDRESS 3306
mysql -hIP_ADDRESS -upromptchat -p
- Ha a
curl localhost500-as választ ad, lehetséges megoldás:
down-rmi.sh
sudo -H -u chatuser bash run.sh