Cum se instalează Rancher pe serverul Debian 12

Rancher este o platformă open-source de gestionare a containerelor, concepută pentru a facilita implementarea, gestionarea și guvernarea clusterelor Kubernetes. Spre deosebire de o distribuție Kubernetes care înlocuiește Kubernetes în sine, Rancher acționează ca o soluție de management care se află deasupra unuia sau mai multor clustere Kubernetes, oferind o platformă centralizată de pe care administratorii își pot supraveghea întreaga infrastructură de containere.

Înainte de a instala Rancher, trebuie să vă asigurați că Docker este instalat pe sistemul dvs. În această secțiune, veți instala Docker Engine prin intermediul depozitului oficial Docker în sistemul Debian.

Mai întâi, rulați comanda de mai jos pentru a vă actualiza indexul pachetelor și pentru a instala pachete precum „ca-certificates” și „curl”.

sudo apt update && sudo apt install ca-certificates curl -y

Acum executați următoarea comandă pentru a adăuga cheia GPG pentru depozitul Docker.

sudo install -m 0755 -d /etc/apt/keyrings 
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc 
sudo chmod a+r /etc/apt/keyrings/docker.asc

Apoi, rulați următoarea comandă pentru a adăuga depozitul Docker la sistemul dumneavoastră Debian. Aceasta va detecta automat versiunea dvs. Debian.

echo \ 
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ 
$(. /etc/os-release && echo "$VERSION_CODENAME") stabil" | \ 
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


Acum că ați adăugat depozitul Docker și cheia GPG, executați comanda de mai jos pentru a vă reîmprospăta indexul pachetului și pentru a instala Docker Engine în sistem. În acest exemplu, veți instala Docker Engine cu pachete suplimentare, cum ar fi Docker Compose și pluginul Docker Buildx.

sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Introduceți „Y” pentru a continua instalarea.

Odată ce instalarea este finalizată, verificați starea serviciului Docker folosind comanda „systemctl” de mai jos. Veți vedea că Docker rulează și este activat pe mașina dvs. Debian.

sudo systemctl este activat docker 
sudo systemctl status docker

În cele din urmă, puteți executa comanda „docker” de mai jos pentru a rula containerul „hello-word”.

sudo docker rulează hello-world

Dacă aveți succes, veți primi următorul mesaj „ hello world ” de la Docker.

Acum că Docker este instalat, sunteți gata să instalați Rancher. În această secțiune, veți descărca imaginea Rancher, apoi veți rula containerul Rancher prin Docker. În acest exemplu, vom folosi certificatele autosemnate care sunt generate automat de containerul Rancher. Vom folosi, de asemenea, cea mai recentă versiune a imaginii Rancher.

Descărcați imaginea Rancher folosind comanda „docker pull” de mai jos. În acest exemplu, vom folosi cea mai recentă versiune Rancher.

sudo docker pull rancher/rancher:latest

Odată ce imaginea Rancher este descărcată, executați comanda „docker run” pentru a rula Rancher. Cu aceasta, containerul Rancher va rula în fundal și va exporta porturile 80 și 443 pe serverul Debian gazdă.

sudo docker run -d --restart=unless-stop \ 
-p 80:80 -p 443:443 \ 
--privileged \ 
rancher/rancher:latest

Verificați starea containerului folosind comanda de mai jos.

sudo docker ps

În rezultatul de mai jos, puteți vedea că Rancher rulează pe portul 443 . De asemenea, puteți vedea ID-ul containerului și numele containerului.

În plus, dacă aveți o eroare, puteți verifica jurnalul Racher cu următoarea comandă „docker”.

docker ps -a 
docker log container-name sau container id

Opțiunea „ps -a” vă va afișa containerele care rulează și au ieșit, iar comanda „docker log” este folosită pentru a verifica jurnalele containerului.

În acest moment, Rancher rulează pe sistemul dumneavoastră Debian ca container. Pentru următorul pas, vă veți conecta la tabloul de bord Rancher pentru a vedea nodul unic Kubernetes care rulează deasupra instalării Rancher.

Deschideți browserul web și vizitați adresa IP a serverului Debian, urmată de portul 8080 , cum ar fi https://192.168.10.41:8080/ . Dacă instalarea dvs. este reușită, veți primi următoarea pagină de conectare la Rancher.

Înapoi la terminal și rulați comanda de mai jos pentru a obține parola Rancher. Asigurați-vă că schimbați ID-ul containerului cu instalarea și copiați parola.

sudo docker înregistrează CONTAINER ID 2>&1 | grep „Bootstrap Password:”

Acum introduceți parola și faceți clic pe Conectare cu utilizatorul local.

Apoi, copiați parola generată pentru rancherul dvs. și asigurați-vă că acceptați termenii și licența.

Acum veți vedea următorul tablou de bord Rancher. În exemplul de mai jos, puteți vedea clusterul Kubernetes cu un singur nod creat cu K3s.

Faceți click pe clusterul Kubernetes local și veți obține mai multe informații despre clusterul dvs. Kubernetes.

Mai întâi, descărcați KubeConfig pe computerul local. Din tabloul de bord Rancher, faceți clic pe meniul fișier de mai jos.

Instalați „kubectl” pe sistemul dumneavoastră cu comanda de mai jos. Pe Debian 12, puteți instala pachetul „ kubernetes-client ” prin APT.

sudo apt install kubernetes-client -y


Setați KUBECONFIG implicit la fișierul dvs. În acest exemplu, fișierul KubeConfig este „kubeconfig.yaml”.

exportă KUBECONFIG=~/kubeconfig.yaml

În cele din urmă, rulați comanda „kubectl” de mai jos pentru a obține poduri de listă pe toate spațiile de nume Kubernetes.

kubectl obține pods --all-namespaces

Veți vedea că fiecare pod pentru clusterul Kubernetes din Rancher rulează.

[mai mult...]

Cum se instalează Fast API cu MongoDB pe Ubuntu 24.04

FastAPI este un cadru web bazat pe Python pentru crearea de servicii API. Este un cadru modern, rapid și de înaltă performanță care acceptă operațiuni asincrone.

Pentru a începe cu acest ghid, asigurați-vă că aveți următoarele:

  • Un sistem Ubuntu 24.04
  • Un utilizator non-root cu privilegii de administrator.

Mai întâi, rulați comanda de mai jos pentru a vă actualiza indexul pachetului și instalați „gnupg” și „curl” în sistemul dumneavoastră.

sudo apt update && sudo apt install gnupg curl -y

Executați comanda de mai jos pentru a adăuga cheia GPG pentru serverul MongoDB.

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \ 
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \ 
--dearmor

Adăugați depozitul MongoDB folosind comanda de mai jos.

echo „deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

După ce depozitul este adăugat, rulați următoarea comandă pentru a vă reîmprospăta indexul pachetului și pentru a instala serverul MongoDB. Introduceți „Y” pentru a confirma instalarea.

sudo apt update && sudo apt install mongodb-org

Când instalarea este finalizată, porniți și activați serviciul MongoDB „mongod”, apoi verificați starea serviciului MongoDB pentru a vă asigura că rulează.

sudo systemctl enable --acum mongod 
sudo systemctl status mongod

Puteți vedea mai jos că serverul MongoDB rulează.

În plus, vă puteți conecta la serverul MongoDB cu comanda „mongosh” de mai jos. Pentru a ieși, apăsați Ctrl+d.

mongosh

Cu MongoDB instalat, veți instala pachetele Python și veți configura directorul proiectului și mediul virtual.

Instalați modulele Python, Pip și Venv cu următoarea comandă. Introduceți „Y” pentru a confirma instalarea.

sudo apt install python3 python3-pip python3-venv


Odată ce instalarea este finalizată, conectați-vă la utilizatorul dvs.

su - username

Acum creați un nou director „ ~/app ” și mutați-vă în el. Acest director va fi folosit pentru a stoca proiectul dvs. FastAPI.

mkdir -p ~/app; cd ~/app

Executați comanda de mai jos pentru a crea un nou mediu virtual „ venv ” și activați-l. Cu aceasta, promptul dumneavoastră shell va deveni ca „ (venv) user@hostname ”.

python3 -m venv .venv 
sursă .venv/bin/activate


De aici, mediul tău de lucru trebuie să fie în mediul virtual „venv”. Vă puteți deconecta de la „venv” folosind comanda de mai jos.

deactivate

Acum că ați creat și activat mediul virtual Python, să instalăm FastAPI și să creăm structura proiectului.

Cu comanda „pip3”, executați-o pentru a instala pachetele „fastapi” și „uvicorn”.

pip3 install fastapi uvicorn
  • „fastapi” este principalul cadru web FastAPI pentru construirea de API-uri în Python
  • „Uvicorn” este implementarea serverului web ASGI (Asynchronous Server Gateway Interface) în Python.

După finalizarea instalării, creați noi fișiere și directoare cu următoarea comandă.

mkdir -p server/{models,routes}
touch main.py server/{app.py,database.py} server/models/itemModels.py server/routes/item.py

Mai jos este structura proiectului nostru FastAPI.


server/app.py

Acum că proiectul dvs. este gata, să modificăm fișierul „server/app.py”, care este principala aplicație a proiectului dumneavoastră FastAPI.

Deschideți fișierul „ app.py ” cu editorul de text și copiați următorul script.

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
 return {"message": "Hello FastAPI!"}
  • Importați modulul FastAPI în proiectul dvs. și legați-l la variabila „aplicație”.
  • Creați o nouă funcție „rădăcină” care returnează „Hello FastAPI!”
  • Funcția „rădăcină” a răspuns la metoda GET de pe URL-ul rădăcină
  • „async” marchează funcția dumneavoastră ca o funcție asincronă și ar putea folosi „wait” în corpul său atunci când este apelată

principal.py

În această secțiune, vom modifica fișierul „main.py” care va fi folosit pentru a rula proiectul FastAPI prin „uvicorn” (server web ASGI în Python).

Acum deschideți și modificați scriptul „ main.py ” și introduceți următorul cod.

import uvicorn 

if __name__ == "__main__": 
uvicorn.run ("server.app:app", host="0.0.0.0", port=8080, reload=True)
  • Importați modulul „uvicorn”.
  • Când scriptul „main.py” este executat, acesta va încărca „aplicația” sau modulul FastAPI în „server/app.py”
  • FastAPI va rula pe „0.0.0.0” cu portul „8080”
  • Activați reîncărcarea automată când codul se schimbă prin „reload=True”

Rulați proiectul FastAPI

Acum că proiectul dvs. este gata, să rulăm primul proiect FastAPI. Executați scriptul „main.py” după cum urmează și FastAPI-ul dumneavoastră va rula pe sistemul dumneavoastră.

python3 main.py

Acum deschideți browserul web și vizitați http://SERVERIP:8080/ . Dacă instalarea a reușit, veți vedea „Hello FastAPI!” mesaj. Îl poți accesa și prin „curl” din terminal.

În cele din urmă, puteți accesa documentația API pe http://SERVERIP:8080/docs > care este furnizată de Swagger UI.

În acest ghid, veți crea un API de bază cu FastAPI și MongoDB. API-ul dvs. ar trebui să poată face CRUD cu serverul de baze de date MongoDB. În ceea ce privește acest pas, vă veți conecta proiectul la serverul MongoDB.

Mai întâi, rulați comanda „pip3” de mai jos pentru a instala driverul MongoDB „ motor ” în proiectul dumneavoastră. „motor” oferă acces API non-blocant și bazat pe corutine la serverul MongoDB.

pip3 install motor

server/database.py

După ce modulul „ motor ” este instalat, să modificăm scriptul „ server/database.py ”. Deschideți fișierul „server/database.py” cu editorul de text și introduceți următorul script. Acesta va fi folosit pentru a vă conecta la serverul MongoDB prin modulul „motor”.

from motor.motor_asyncio import AsyncIOMotorClient

MONGODB_HOST = "mongodb://localhost:27017"

connection = AsyncIOMotorClient(MONGODB_HOST)

database = connection.items
item_collection = database.get_collection("item_collection")
  • Importați „AsyncIOMotorClient” din „motor.motor_asyncio”
  • Creați o nouă constantă „MONGODB_HOST” și indicați către serverul MongoDB „mongodb://localhost:27017”
  • Conectați-vă la serverul MongoDB prin variabila „conexiune”.
  • Conectați-vă la baza de date „articole” prin variabila „bază de date”.
  • Accesați colecțiile din baza de date cu variabila „item_collection”.

Crearea modelului bazei de date cu pydantic

       În această secțiune, vă veți proiecta datele prin „ pydantic ”, care oferă modelare pentru baza noastră de date MongoDB.

Instalați modulul „pydantic” cu comanda „pip3” de mai jos. Modulul „ pydantic ” este o bibliotecă de validare a datelor care vă permite să creați schema bazei de date prin model.

pip3 install pydantic

Acum deschideți fișierul „ server/models/itemModels.py ” cu editorul de text și copiați următorul script.

from pydantic import BaseModel, Field
from typing import Optional

class Item(BaseModel):
 name: str
 category: str
 stocks: int
 price: int = Field(gt=0)

 class Config:
 json_schema_extra = {
 "example": {
 "name": "Company Smart Watch",
 "category": "smartwatch",
 "stocks": 10,
 "price": 1000,
 }
 }

class ItemUpdate(BaseModel):
 name: Optional[str] = None
 category: Optional[str] = None
 stocks: Optional[int] = None
 price: Optional[int] = None

 class Config:
 json_schema_extra = {
 "example": {
 "name": "New Smart watch",
 "category": "new-smartwatch",
 "stocks": 5,
 "price": 500,
 }
 }
  • Importați modulele „BaseModel” și „Field” din „pydantic”
  • Importați modulul „Opțional” din „tastare”
  • Creați următoarea schemă de bază de date „Articol” pentru FastAPI:
    • „nume” și „categorie” cu șir de tip
    • „stocuri” și „preț” cu categoria întreg
    • „prețul” trebuie să fie mai mare decât 0
  • Extindeți modelul de date prin clasa „Config” oferind un exemplu de date pe care utilizatorul le poate include în cerere
  • Creați următoarea schemă „ItemUpdate” cu fiecare câmp opțional.

 Adăugarea de operațiuni CRUD

        În acest moment, ați creat o conexiune la serverul MongoDB și ați creat schema bazei de date prin „pydantic”. Să trecem la crearea operațiunilor CRUD cu FastAPI și MongoDB.

Deschideți din nou scriptul „ server/database.py ” și creați o nouă funcție „ item_helper ” cu tipul „ dict ”. Apelați această funcție pentru a obține date detaliate despre un articol.

def item_helper(item) -> dict:
 return {
 "id": str(item["_id"]),
 "name": item["name"],
 "category": item["category"],
 "stocks": item["stocks"],
 "price": item["price"],
 }

Adăugați următoarea linie pentru a importa modulul „ ObjectId ” din „bson.objectid”. „ ObjectId ” face parte din tipul de date din BSON, pe care MongoDB îl folosește pentru stocarea datelor și reprezentarea datelor JSON.

from bson.objectid import ObjectId

Creați un articol

        În primul rând, veți crea o funcție asincronă care va putea adăuga date noi la baza de date MongoDB.

Creați o nouă funcție „a dd_item ” ca următorul:

# Adăugați un articol nou
async def add_item(item_details: dict) -> dict :
 item = await item_collection.insert_one(item_details)
 new_item = await item_collection.find_one({"_id": item.inserted_id})
 return item_helper(new_item)
  • Funcția „add_item” acceptă datele din dicționar ale detaliilor articolului dvs
  • Prin „item_collection” pentru a accesa documentele din baza de date și pentru a executa interogarea „insert_one” pentru a adăuga un nou articol
  • Noul articol va fi tipărit după operarea cu succes

Preluați toate articolele

       În al doilea rând, veți crea o nouă funcție „get_items” care va putea prelua toate elementele disponibile din baza de date.

Creați o nouă funcție „ get_items ” pentru a prelua toate articolele din MongoDB.

# preluati toate elementele
async def get_items():
 items = []
 async for item in item_collection.find():
 items.append(item_helper(item))
 return items
  • Veți crea o listă goală de „articole”
  • Folosind interogarea „find()” pentru a căuta toate datele și a le trece în buclă
  • Fiecare articol va fi adăugat la lista „articole” prin metoda „adăugați”.
  • După finalizarea buclei, articolele dvs. vor fi afișate

Preluați un articol specific bazat pe id

          Apoi, veți crea o nouă funcție care va putea prelua date pentru un anumit selector „id”. Aceasta vă va afișa date detaliate despre anumite articole.

Creați o nouă funcție „ get_item ” pentru a prelua date despre anumite articole. Funcția „get_item” va accepta un șir de „id” ca selector și va returna un dicționar.

# preluare un anumit articol 
 async def get_item(id: str) -> dict:
 item = await item_collection.find_one({"_id": ObjectId(id)})
 if item:
 return item_helper(item)
 return "Articol nu a fost găsit."
  • Interogarea „find_one()” va fi folosită pentru a prelua date bazate pe „id”
  • Dacă se găsește un articol, detaliile vor fi afișate folosind formatul de dicționar „item_helper”.
  • Dacă articolul nu este disponibil, răspunsul este „Articol nu a fost găsit”

Actualizați un articol

        Acum veți crea o nouă funcție pentru actualizarea unui articol. De asemenea, vă puteți actualiza parțial articolul prin API.

Definiți noua funcție „ change_item ” ca următoarele coduri:

# update item
async def change_item(id: str, data: dict):
 if len(data) < 1:
 return "Please input your data"
 find_item = await item_collection.find_one({"_id": ObjectId(id)})
 if find_item:
 item_update = await item_collection.update_one({"_id": ObjectId(id)}, {"$set": data})
 if item_update:
 return True
 return False
  • Funcția „change_item” ia două argumente, „id-ul” articolului țintă și „data” ca date noi
  • Dacă datele sunt goale sau „< 1”, operațiunea s-a încheiat
  • Această funcție va găsi un articol pe baza selectorului „id”.
  • Dacă „id-ul” este găsit, „item_update” va fi executat
  • Dacă „item_update” are succes, returnați „True” sau returnați „False” dacă nu

Ștergeți un articol

       În cele din urmă, veți crea funcția „delete_item” pentru ștergerea articolelor printr-un anumit selector. Pentru a șterge un articol, vom crea funcția „ delete_item ” și vom folosi selectorul „id” după cum urmează:

# ștergeți un articol 
  async def delete_item(id: str):
 item = await item_collection.find_one({"_id": ObjectId(id)})
 if item:
 await item_collection.delete_one({"_id": ObjectId(id)})
 return(f'Item {id} deleted.')
 return "Articol negăsit.') return
  • Interogarea „find_one()” va căuta un articol pe baza „id-ului” furnizat
  • Dacă elementul este găsit, acesta va fi șters prin interogarea „delete_one()” și va returna „Id-ul articolului șters”
  • Dacă articolul nu este disponibil, va fi afișat „Articol negăsit”.

Adăugarea rutelor pentru operațiuni CRUD

      În acest moment, am creat funcții asincrone pentru operarea CRUD cu FastAPI. Acum să creăm ruta sau punctul final pentru fiecare operațiune. Editați fișierul „ server/routes/item.py ” folosind editorul preferat.

server/routes/item.py

Mai întâi, adăugați modulele „ APIRouter ” și „ Corps ” din „fastapi”. Apoi, adăugați „ jsonable_encode ” din „fastapi.encoders”.

from fastapi import APIRouter, Body 
from fastapi.encoders import jsonable_encoder

Importați fiecare funcție din fișierul „database.py”.

from server.database import ( 
add_item, 
get_items, 
get_item, 
change_item, 
delete_item, 
)

Importați modelele „Item” și „ItemUpdate” din fișierul „itemModels.py”.

from server.models.itemModels import ( 
Item, 
ItemUpdate, 
)

Apelați clasa „APIRouter” prin variabila „router”.

router = APIRouter()

Traseu pentru adăugarea unui articol nou

          Acum să adăugăm o rută pentru adăugarea de elemente noi. În acest exemplu, puteți adăuga un nou articol prin POST la adresa URL „ /item ”.

Adăugați următoarele linii pentru a configura rute pentru adăugarea de elemente noi. Fiecare POST către adresa URL rădăcină a articolului va fi tratată ca inserare date noi.

# add new item operation 
@router.post("/") 
async def add_item_data(item: Item = Body(...)): 
item = jsonable_encoder(item) 
new_item = await add_item(item) 
return new_item
  • Funcția „add_item_data” acceptă schema „Articol”, care va face parte din „Corps” la cererea dvs.
  • Articolul dvs. va fi convertit în format de dicționar prin „jsonable_encoder”
  • Introduceți datele din dicționar prin funcția „add_item” (consultați database.py) deasupra variabilei „new_item”
  • Returnați datele introduse „new_item” ca răspuns

Traseu pentru a obține toate articolele

Adăugați următorul script pentru a configura o rută pentru preluarea datelor. Fiecare solicitare GET către adresa URL a elementului rădăcină va prelua toate datele dvs.

# obține toate articolele disponibile 
@router.get("/") 
asincron def get_item_data(): 
items = await get_items() 
if items: 
return items 
return "Niciun articol disponibil."
  • Creați funcția „get_item_data” care va executa funcția „get_item” din fișierul „database.py”
  • Dacă articolele sunt disponibile, veți primi lista tuturor articolelor dvs
  • Dacă nu există niciun articol, veți primi răspunsul „Niciun articol disponibil”.

Traseu pentru a obține un articol specific

        Pentru a obține detalii despre un anumit articol, vom folosi „id” ca selector. Fiecare cerere GET către „/id” va returna un articol detaliat al „id-ului” solicitat.

# Afișați detaliile articolului prin ID-ul 
@router.get("/{id}") 
asincron def get_item_details(id): 
item_details = await get_item(id) 
if item_details: 
return item_details 
return "Articol nu a fost găsit."
  • Funcția „get_item_details” va fi creată și va transmite „id” de la adresa URL
  • Funcția „get_item” (vezi database.py) va fi apelată și va trece, de asemenea, „id” ca argument
  • Dacă articolul este găsit, vor fi afișate detaliile articolului
  • Dacă niciun articol cu ​​acel „id” specific, veți primi „Articol nu a fost găsit”

Rută pentru actualizarea unui articol

         Copiați următorul cod pentru a seta ruta pentru elementul actualizat:

# Update Item 
@router.put("/{id}") 
asincron def update_item(id: str, data: ItemUpdate = Body(...)): 
data = {k:v for k, v in data.dict().items() if v is not None} 
updated_item = await change_item(id, data) 
if updated_item} 
return: {f'item} 
return. "Eroare"
  • Funcția „update_item” va lua două argumente, „id” ca selector și „data”, care se bazează pe modelul „ItemUpdate”
  • Datele vor fi verificate în variabila „date”.
  • „updated_item” va executa funcția „change_item” din fișierul „database.py”
  • Dacă actualizarea a reușit, veți vedea rezultatul „Succes”

Rută pentru ștergerea unui articol

       Introduceți următoarele rânduri pentru a crea funcția „remove_item” pentru ștergerea articolelor. Fiecare operație DELETE la un anumit „/id” va elimina elementul potrivit cu „id”.

# ștergeți elementul prin id 
@router.delete("/{id}") 
asincron def remove_item(id): 
item_to_delete = await delete_item(id) 
if item_to_delete: 
return item_to_delete 
return{f'Item {id} Nu este disponibil.'}
  • Funcția „remove_item” va executa „delete_item” și va trece selectorul „id”
  • Operația de ștergere va fi stocată și executată prin variabila „item_to_delete”.
  • Când un articol nu este disponibil, veți primi returnarea „Id articol nu este disponibil”

server/app.py

  • Acum că ați terminat fișierul „server/routes/item.py”, să-l includem în „server/app.py”.
  • Deschideți fișierul „ app.py ” folosind editorul de text.
  • Importați „routerul” din fișierul „ server/routes/item.py ” ca „ ItemRouter ”.
de la server.routes.item import router ca ItemRouter

Introduceți „ItemRouter” cu prefixul implicit „ /item ”. Operațiunile CRUD vor fi gestionate prin adresa URL „ /item ”.

app.include_router(ItemRouter, tags="["Articol"], prefix="/item")

Acum punctul final CRUD va fi disponibil la următoarele:

  • Adăugați un articol nou: POST la „ /item ”
  • Preluați toate articolele: GET la „ /item ”
  • Preluați un anumit articol: GET la „/item/id” . „ID” este generat de MongoDB
  • Actualizați elementul: PUT la „/item/id”
  • Ștergeți elementul: DELETE în „/item/id”

Testați operațiunile CRUD

În primul rând, asigurați-vă că proiectul dvs. FastAPI rulează sau puteți executa scriptul „main.py” în felul următor:

python3 main.py

Navigați prin http://SERVERIP:8080/docs  și veți vedea fiecare rută pe care ați creat-o.

Mai jos este un exemplu de adăugare a unui articol nou.

Preluați toate articolele disponibile prin API.

Preluați anumite elemente prin selectorul „id”.

Actualizați datele parțiale din anumite articole.

Mai jos sunt datele actualizate.

Mai jos este operația de ștergere prin selectorul „id”.

[mai mult...]

Cum se instalează Apache Solr pe un server Ubuntu 24.04

Apache Solr este o platformă de căutare open-source construită pe Apache Lucene, concepută pentru a crea capabilități puternice de căutare și indexare a aplicațiilor. Oferă căutare avansată full-text, căutare fațetă, indexare în timp real și căutare distribuită, ceea ce îl face o alegere populară pentru construirea de motoare de căutare și sisteme de recuperare a datelor.

Solr este extrem de scalabil și optimizat pentru volume mari de date, adesea folosit în mediile de întreprindere pentru sarcini precum căutarea pe site-uri web, comerțul electronic și analiza big data. API-ul său asemănător REST permite integrarea ușoară cu alte sisteme și acceptă funcții precum evidențierea sugestiilor de interogări și căutarea geospațială. Flexibilitatea, performanța și suportul comunității Solr au făcut din acesta o soluție de top pentru organizațiile care au nevoie de funcționalități de căutare robuste.

Înainte de a instala Apache Solr, haideți să pregătim și să configuram sistemul nostru Ubuntu prin creșterea shmmax și nr_hugepages în parametrul kernelului, apoi mărind fișierele și procesele deschise maxime implicite.

Executați comanda de mai jos pentru a crește shmmax și nr_hugepages pe serverul Ubuntu.

sudo echo 4294967295 > /proc/sys/kernel/shmmax 
sudo echo 1536 > /proc/sys/vm/nr_hugepages

Acum rulați comanda de mai jos pentru a modifica fișierul /etc/security/limits.conf .

sudo nano /etc/security/limits.conf

Creșteți numărul maxim de fișiere și procese deschise pentru utilizatorul solr cu următoarea configurație.

solr soft nofile 65000 
solr hard nofile 65000 
solr soft nproc 65000 
solr hard nproc 65000

Salvați fișierul și ieșiți din editor.

Instalarea Java OpenJDK

Acum că v-ați configurat sistemul, să instalăm Java OpenJDK în sistemul nostru. Apache Solr necesită cel puțin Java 11 instalat pe sistemul dvs. și, pentru acest ghid, vom folosi pachetul implicit-jdk care oferă cea mai recentă versiune Java OpenJDK stabilă.

Mai întâi, actualizați indexul pachetului Ubuntu cu următoarele.

actualizare sudo apt

Acum instalați pachetul implicit-jdk folosind comanda de mai jos. Introdu Y pentru a confirma instalarea.

sudo apt install default-jdk


După finalizarea instalării, verificați versiunea Java cu următoarea comandă.

java --versiune

Puteți vedea mai jos că Java 21 este instalat.

Instalarea Apache Solr

Acum că sistemul dumneavoastră Ubuntu este configurat și Java OpenJDK instalat, să începem instalarea Apache Solr. În acest ghid, veți instala Apache Solr folosind scriptul de instalare furnizat de pachetul Solr.

Pentru a începe, rulați comanda de mai jos pentru a instala instrumente de bază, cum ar fi curl , lsof și bc .

sudo apt install curl lsof bc



Acum descărcați pachetul binar Apache Solr cu comanda wget de mai jos.

wget https://www.apache.org/dyn/closer.lua/solr/solr/9.7.0/solr-9.7.0.tgz?action=download

Redenumiți pachetul Apache Solr și extrageți scriptul de instalare install_solr_service.sh folosind comanda de mai jos.

mv solr-9.7.0.tgz?action=download solr-9.7.0.tgz 
tar -xf tar xzf solr-9.7.0.tgz solr-9.7.0/bin/install_solr_service.sh --strip-components=2

Acum executați scriptul install_solr_service.sh pentru a instala Apache Solr.

sudo bash ./install_solr_service.sh solr-9.7.0.tgz

Puteți vedea mai jos instalarea detaliată a Apache Solr.

  • Directorul de instalare implicit se află în directorul /opt/solr .
  • Noul utilizator solr este creat automat.
  • Noul fișier de servicii solr.service este creat pentru gestionarea serviciului Apache Solr.

Acum verificați starea solr cu comanda de mai jos. Puteți vedea solr cu starea active(exited) , ceea ce înseamnă că serviciul rulează, dar systemd nu poate găsi niciun fișier de monitorizat.

sudo systemctl status solr


De asemenea, puteți verifica porturile deschise de pe sistemul dvs. folosind comanda ss de mai jos. Apache Solr ar trebui să ruleze pe portul 8893.

ss -tulpn

Configurarea Apache Solr

        Acum că Apache Solr este instalat, să-l configuram prin modificarea parametrilor Apache Solr din scriptul /etc/default/solr.in.sh. Apoi, creșteți memoria maximă implicită și adresa IP folosită pentru a rula Apache Solr.

Deschideți fișierul de configurare Solr /etc/default/solr.in.sh folosind editorul vim .

sudo vim /etc/default/solr.in.sh

Schimbați opțiunea implicită SOLR_HEAP cu alocarea maximă de memorie pentru Apache Solr. În acest exemplu, vom folosi 4 GB de RAM.

SOLR_HEAP="4g"

Introduceți adresa dvs. IP în opțiunile SOLR_HOST și SOLR_JETTY_HOST . În acest exemplu, Apache Solr va rula pe adresa IP locală 192.169.10.60.

SOLR_HOST="192.168.10.15" 
SOLR_JETTY_HOST="192.168.10.15"

Acum rulați comanda systemctl de mai jos pentru a reporni serviciul Apache Solr și a aplica modificările.

sudo systemctl restart solr

Puteți verifica portul deschis și ce adresă IP este folosită de Apache Solr cu comanda ss de mai jos.

ss -tulpn

Securizarea Apache Solr cu autentificare

După configurarea Apache Solr, următorul pas este să vă asigurați implementarea. În acest exemplu, vom folosi autentificarea de bază pentru a securiza Apache Solr. Acest lucru se poate face prin crearea unui nou fișier /var/solr/data/security.json .

Creați o nouă configurație /var/solr/data/security.json cu editorul vim.

sudo vim /var/solr/data/security.json

Introduceți configurația de mai jos pentru a configura autentificarea pentru Apache Solr și creați un nou utilizator solr cu parola solrRocks .

{ 
"authentication":{ 
"blockUnknown": true, 
"class":"solr.BasicAuthPlugin", 
"credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}, 
"realm":"Utilizatorii mei Solr", 
"forwardCredentials": false 
}, 
"authorization":{ 
"class":"solr.RuleBasedAuthorizationPlugin", 
"permissions":":", "permissions":":", "permissions":":", 
"user-role":{"solr":"admin"} 
} 
}

Salvați fișierul și ieșiți din editor.

Acum rulați comanda systemctl de mai jos pentru a reporni serviciul solr și a aplica modificările.

sudo systemctl restart solr

Apoi, deschideți browserul web și vizitați instalarea Apache Solr http://192.168.10.60:8983/. Veți fi redirecționat către pagina de conectare Apache Solr.

Introduceți utilizatorul solr și parola solrRocks și veți obține tabloul de bord Apache Solr.

Crearea primei colecții în Apache Solr

În această etapă, ați configurat și securizat Apache Solr. Acum veți crea Prima Colecție în Apache Solr din linia de comandă.

Deschideți din nou fișierul /etc/default/solr.in.sh cu editorul vim.

sudo vim /etc/default/solr.in.sh

Decomentați liniile SOLR_AUTH_TYPE și SOLR_AUTHENTICATION_OPTS și lăsați-le pe ambele ca implicite.

SOLR_AUTH_TYPE="de bază" 
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

Salvați fișierul și ieșiți din editor.

Acum rulați următoarea comandă pentru a reporni serviciul Apache Solr.

sudo systemctl restart solr

Apoi, rulați comanda de mai jos pentru a crea prima colecție cu numele my_first_index.

su - solr -c "/opt/solr/bin/solr create -c my_first_index -n MyIndex"


Acum treceți la Apache Solr Dashboard și veți vedea noua colecție my_first_index a fost creată.

[mai mult...]

Cum se instalează PHP 5.6 și 7.0 – 8.4 cu PHP-FPM și modul FastCGI pentru ISPConfig 3.2 cu apt pe Debian 11 până la 12

Când utilizați ISPConfig, în mod implicit, aveți doar versiunea principală PHP pentru distribuția dvs. Acest ghid vă va ghida prin instalarea versiunilor PHP suplimentare (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.1, 8.2, 8.3 și 8.4) pe un server Debian cu ISPConfig.

După instalarea versiunilor suplimentare, le puteți selecta pentru a fi utilizate pe anumite site-uri web atât în ​​modul PHP-FPM, cât și în modul FastCGI. În acest ghid, veți adăuga SURY repository repository suplimentar pentru a instala pachetele PHP din cu apt. Deoarece și alte pachete precum OpenSSL sunt actualizate, pachetele instalate de pe sury.org nu pot fi pur și simplu eliminate după instalare. Deci, nu eliminați SURY ca sursă de depozit mai târziu.

2 Adăugați repository SURY

Mai întâi instalați aceste pachete necesare:

apt-get install -y apt-transport-https lsb-release ca-certificates

Acum adăugați cheia de depozit rulând această comandă:

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg >/dev/null 2>&1

și depozitul în sine:

echo "deb https://packages.sury.org/php/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/php.list

Acum actualizați lista de pachete:

apt-get update

Pentru a actualiza pachetele deja instalate din noul depozit, utilizați această comandă:

apt-get upgrade

3 Instalați versiuni suplimentare PHP

Nu trebuie să instalați toate versiunile listate aici, instalați-le pe cele de care aveți nevoie.Ezoic

3.1 Instalați PHP 5.6

Pentru a instala PHP folosiți această comandă:

apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-recode php5.6-5sqlite-php5.6 php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

3.2 Instalați PHP 7.0

Pentru a instala PHP folosiți această comandă:

apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-recode php7. php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml

3.3 Instalați PHP 7.1

Pentru a instala PHP folosiți această comandă:

apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-recode php7.1-7sqlite php7. php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml

3.4 Instalați PHP 7.2

Pentru a instala PHP folosiți această comandă:

apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-recode php7. php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml

3.5 Instalați PHP 7.3

Pentru a instala PHP folosiți această comandă:

apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-7sqlite php7. php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml

3.6 Instalați PHP 7.4

Pentru a instala PHP 7.4 utilizați această comandă:

apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite-tidy php7.4-sqlite-tix php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml

3.7 Instalați PHP 8.0

Pentru a instala PHP 8.0 utilizați această comandă:

apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite-tixl php8.0-sqlite-tixl. php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache libonig5 php8.0-common php8.0-readline php8.0-xml

3.8 Instalați PHP 8.1

Pentru a instala PHP 8.1 utilizați această comandă:

apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite-pspell php8.1-sqlite-dyx php8. php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache libonig5 php8.1-common php8.1-readline php8.1-xml

3.9 Instalați PHP 8.2

Pentru a instala PHP 8.2 utilizați această comandă:

apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite-pspell php8.2-sqlite-dyxl. php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache libonig5 php8.2-common php8.2-readline php8.2-xml

3.10 Instalați PHP 8.3

Pentru a instala PHP 8.3 utilizați această comandă:

apt-get install php8.3 php8.3-cli php8.3-cgi php8.3-fpm php8.3-gd php8.3-mysql php8.3-imap php8.3-curl php8.3-intl php8.3-pspell php8.3-sqlite-tixl. php8.3-zip php8.3-mbstring php8.3-soap php8.3-opcache libonig5 php8.3-common php8.3-readline php8.3-xml

3.11 Instalați PHP 8.4

Pentru a instala PHP 8.4 utilizați această comandă:

apt-get install php8.4 php8.4-cli php8.4-cgi php8.4-fpm php8.4-gd php8.4-mysql php8.4-imap php8.4-curl php8.4-intl php8.4-pspell php8.4-sqlite-tixl php8.4-sqlite-tixl. php8.4-zip php8.4-mbstring php8.4-soap php8.4-opcache libonig5 php8.4-common php8.4-readline php8.4-xml

4 Setați PHP implicit OS la versiunea corectă

PHP implicit al sistemului de operare trebuie să rămână la versiunea originală. Pentru a remedia acest lucru, rulați aceste comenzi una câte una:

update-alternatives --config php 
update-alternatives --config php-cgi 
update-alternatives --config php-fpm.sock

Pe Debian 12, alegeți 8.2; pe Debian 11, alegeți 7.4; pe Debian 10, alegeți 7.3.

5 Adăugați versiuni PHP la ISPConfig

În ISPConfig 3, puteți configura noile versiuni PHP în Sistem > Versiuni PHP suplimentare > Adăugați o versiune PHP nouă .

Mai întâi, trebuie să adăugați o nouă versiune pentru versiunea PHP deja instalată. Versiunea implicită depinde de versiunea pe care vă aflați:

Debian 10: PHP 7.3
Debian 11: PHP 7.4
Debian 12: PHP 8.2

Vedeți mai jos configurația pentru versiunea dvs.

PHP 5.6

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi5.6 
Calea către directorul php.ini: /etc/php/5.6/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM:  php5.6-fpm 
Calea către directorul php.ini: /etc/php/5.6/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/5.6/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php5.6

PHP 7.0

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.0 
Calea către directorul php.ini: /etc/php/7.0/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM:  php7.0-fpm 
Calea către directorul php.ini: /etc/php/7.0/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/7.0/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php7.0

PHP 7.1

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.1 
Calea către directorul php.ini: /etc/php/7.1/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php7.1-fpm 
Calea către directorul php.ini: /etc/php/7.1/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/7.1/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php7.1

PHP 7.2

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.2 
Calea către directorul php.ini: /etc/php/7.2/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php7.2-fpm 
Calea către directorul php.ini: /etc/php/7.2/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/7.2/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php7.2

PHP 7.3

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.3 
Calea către directorul php.ini: /etc/php/7.3/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php7.3-fpm 
Calea către directorul php.ini: /etc/php/7.3/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/7.3/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php7.3

PHP 7.4

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.4 
Calea către directorul php.ini: /etc/php/7.4/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php7.4-fpm 
Calea către directorul php.ini: /etc/php/7.4/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/7.4/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php7.4

PHP 8.0

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.0 
Calea către directorul php.ini: /etc/php/8.0/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php8.0-fpm 
Calea către directorul php.ini: /etc/php/8.0/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/8.0/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php8.0

PHP 8.1

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.1 
Calea către directorul php.ini: /etc/php/8.1/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php8.1-fpm 
Calea către directorul php.ini: /etc/php/8.1/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/8.1/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php8.1

PHP 8.2

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.2 
Calea către directorul php.ini: /etc/php/8.2/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php8.2-fpm 
Calea către directorul php.ini: /etc/php/8.2/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/8.2/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php8.2

PHP 8.3

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.3 
Calea către directorul php.ini: /etc/php/8.3/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php8.3-fpm 
Calea către directorul php.ini: /etc/php/8.3/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/8.3/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php8.3

PHP 8.4

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.4 
Calea către directorul php.ini: /etc/php/8.4/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php8.4-fpm 
Calea către directorul php.ini: /etc/php/8.4/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/8.4/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php8.4

[mai mult...]

Cum se instalează PHP 5.6 și 7.0 – 8.4 cu PHP-FPM și modul FastCGI pentru ISPConfig 3.2 cu apt pe Ubuntu 22.04 – 24.04

Când utilizați ISPConfig, în mod implicit, aveți doar versiunea principală PHP pentru distribuția dvs. Acest ghid vă va arăta cum să instalați mai multe versiuni PHP (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.1, 8.2, 8.3 și 8.4) pe un server Ubuntu cu ISPConfig. Acest ghid este pentru Ubuntu 22.04 și Ubuntu 24.04, dar la momentul scrierii, instrucțiunile exacte încă funcționează pentru Ubuntu 20.04.

În acest ghid, veți adăuga repository-ul SURY repository suplimentar pentru a instala pachetele PHP din cu apt. Deoarece și alte pachete precum OpenSSL sunt actualizate, pachetele instalate de pe sury.org nu pot fi pur și simplu eliminate după instalare. Deci, nu eliminați SURY ca sursă de repository mai târziu.

Vă rugăm să rețineți că PHP-FPM poate fi utilizat pe serverele Apache și Nginx, în timp ce FastCGI este disponibil numai pentru serverele Apache.

Adăugați depozitul:

add-apt-repository -y ppa:ondrej/php

Acum actualizați lista de pachete:

apt-get update

Pentru a actualiza pachetele deja instalate din noul depozit, utilizați această comandă:

apt-get upgrade

3.1 Instalați PHP 5.6

Pentru a instala PHP folosiți această comandă:

apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-recode php5.6-5sqlite-php5.6 php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

3.2 Instalați PHP 7.0

Pentru a instala PHP folosiți această comandă:

apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-recode php7. php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml

3.3 Instalați PHP 7.1

Pentru a instala PHP folosiți această comandă:

apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-recode php7.1-7sqlite php7. php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml

3.4 Instalați PHP 7.2

Pentru a instala PHP folosiți această comandă:

apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-recode php7. php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml

3.5 Instalați PHP 7.3

Pentru a instala PHP folosiți această comandă:

apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-7sqlite php7. php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml

3.6 Instalați PHP 7.4

Pentru a instala PHP 7.4 utilizați această comandă:

apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite-tidy php7.4-sqlite-tix php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml

3.7 Instalați PHP 8.0

Pentru a instala PHP 8.0 utilizați această comandă:

apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite-tixl php8.0-sqlite-tixl. php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache libonig5 php8.0-common php8.0-readline php8.0-xml

3.8 Instalați PHP 8.1

Pentru a instala PHP 8.1 utilizați această comandă:

apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite-pspell php8.1-sqlite-dyx php8. php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache libonig5 php8.1-common php8.1-readline php8.1-xml

3.9 Instalați PHP 8.2

Pentru a instala PHP 8.2 utilizați această comandă:

apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite-pspell php8.2-sqlite-dyxl. php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache libonig5 php8.2-common php8.2-readline php8.2-xml

3.10 Instalați PHP 8.3

Pentru a instala PHP 8.3 utilizați această comandă:

apt-get install php8.3 php8.3-cli php8.3-cgi php8.3-fpm php8.3-gd php8.3-mysql php8.3-imap php8.3-curl php8.3-intl php8.3-pspell php8.3-sqlite-tixl. php8.3-zip php8.3-mbstring php8.3-soap php8.3-opcache php8.3-common php8.3-readline php8.3-xml

3.11 Instalați PHP 8.4

Pentru a instala PHP 8.3 utilizați această comandă:

apt-get install php8.4 php8.4-cli php8.4-cgi php8.4-fpm php8.4-gd php8.4-mysql php8.4-imap php8.4-curl php8.4-intl php8.4-pspell php8.4-sqlite-tixl php8.4-sqlite-tixl. php8.4-zip php8.4-mbstring php8.4-soap php8.4-opcache php8.4-common php8.4-readline php8.4-xml

4 Setați PHP implicit OS la versiunea corectă

PHP implicit al sistemului de operare trebuie să rămână la versiunea originală. Pentru a remedia acest lucru, rulați aceste comenzi una câte una:

update-alternatives --config php 
update-alternatives --config php-cgi 
update-alternatives --config php-fpm.sock

Pe Ubuntu 20.04, alegeți 7.4; pe Ubuntu 22.04, alegeți 8.1 și pe Ubuntu 24.04, alegeți 8.3.

Mai întâi, trebuie să adăugați o nouă versiune pentru versiunea PHP deja instalată. Versiunea implicită depinde de versiunea pe care vă aflați:

Ubuntu 20.04: PHP 7.4
Ubuntu 22.04: PHP 8.1
Ubuntu 24.04: PHP 8.3

Vedeți mai jos configurația pentru versiunea dvs.

PHP 5.6

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi5.6 
Calea către directorul php.ini: /etc/php/5.6/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM:  php5.6-fpm 
Calea către directorul php.ini: /etc/php/5.6/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/5.6/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php5.6

PHP 7.0

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.0 
Calea către directorul php.ini: /etc/php/7.0/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM:  php7.0-fpm 
Calea către directorul php.ini: /etc/php/7.0/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/7.0/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php7.0

PHP 7.1

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.1 
Calea către directorul php.ini: /etc/php/7.1/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php7.1-fpm 
Calea către directorul php.ini: /etc/php/7.1/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/7.1/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php7.1

PHP 7.2

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.2 
Calea către directorul php.ini: /etc/php/7.2/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php7.2-fpm 
Calea către directorul php.ini: /etc/php/7.2/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/7.2/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php7.2

PHP 7.3

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.3 
Calea către directorul php.ini: /etc/php/7.3/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php7.3-fpm 
Calea către directorul php.ini: /etc/php/7.3/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/7.3/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php7.3

PHP 7.4

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi7.4 
Calea către directorul php.ini: /etc/php/7.4/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php7.4-fpm 
Calea către directorul php.ini: /etc/php/7.4/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/7.4/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php7.4

PHP 8.0

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.0 
Calea către directorul php.ini: /etc/php/8.0/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php8.0-fpm 
Calea către directorul php.ini: /etc/php/8.0/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/8.0/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php8.0

PHP 8.1

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.1 
Calea către directorul php.ini: /etc/php/8.1/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php8.1-fpm 
Calea către directorul php.ini: /etc/php/8.1/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/8.1/fpm/pool.d/

Versiunea cli pentru, de exemplu, joburi cron are numele php8.1

PHP 8.2

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.2 
Calea către directorul php.ini: /etc/php/8.2/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php8.2-fpm 
Calea către directorul php.ini: /etc/php/8.2/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/8.2/fpm/pool.d

Versiunea cli pentru, de exemplu, joburi cron are numele php8.2

PHP 8.3

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.3 
Calea către directorul php.ini: /etc/php/8.3/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php8.3-fpm 
Calea către directorul php.ini: /etc/php/8.3/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/8.3/fpm/pool.d

Versiunea cli pentru, de exemplu, joburi cron are numele php8.3

PHP 8.4

Setări Fast-CGI:

Calea către binarul PHP FastCGI: /usr/bin/php-cgi8.4 
Calea către directorul php.ini: /etc/php/8.4/cgi/

Setări PHP-FPM:

Calea către scriptul de pornire PHP-FPM: php8.4-fpm 
Calea către directorul php.ini: /etc/php/8.4/fpm/ 
Calea către directorul pool-ului PHP-FPM: /etc/php/8.4/fpm/pool.d

Versiunea cli pentru, de exemplu, joburi cron are numele php8.4

[mai mult...]

Cum se instalează ntopng pe Debian 12

Pentru a instala Ntopng, trebuie să adăugați depozitul oficial și să îl instalați prin managerul de pachete APT. După terminarea instalării, trebuie să vă asigurați că serviciul „ntopng” rulează folosind comanda „systemctl” sau puteți utiliza comanda „ss” pentru a verifica lista de porturi deschise pe sistemul dumneavoastră. Dacă Ntopng rulează, veți vedea acel port „3000” cu starea „Ascultat”.

Mai întâi, rulați comanda de mai jos pentru a vă actualiza indexul pachetului Debian și a instala pachetele „ software-properties-common ” și „ wget ”. Când vi se solicită, introduceți „ Y ” pentru a confirma instalarea.

sudo apt update 
sudo apt install software-properties-common wget


Descărcați depozitul Ntopng pentru Debian folosind comanda „wget” de mai jos. Apoi, instalați depozitul de pachete folosind comanda „ apt ”.

wget https://packages.ntop.org/apt/bookworm/all/apt-ntop.deb 
sudo apt install ./apt-ntop.deb


Odată ce depozitul Ntopng este adăugat la sistemul dumneavoastră, executați următoarea comandă „ apt ” pentru a vă reîmprospăta pachetul și a instala pachetul „ ntopng”.

sudo apt update && sudo apt install ntopng

Introduceți „ Y ” pentru a confirma instalarea.

După finalizarea instalării, executați comanda „systemctl” de mai jos pentru a verifica și verifica starea serviciului „ntopng”.

sudo systemctl este activat ntopng 
sudo systemctl status ntopng

În rezultatul de mai jos, puteți vedea că Ntopng rulează și este activat pe sistemul dumneavoastră Debian.

În cele din urmă, puteți verifica și portul Ntopng cu comanda „ss” de mai jos. Veți vedea că procesul Ntopng folosește portul 3000.

ss -tulpn

După ce ați instalat Ntopng, îl veți configura pentru a vă monitoriza rețelele. În acest exemplu, vom monitoriza două interfețe de rețea atât pentru interfețele locale, cât și pentru cele publice. Pentru a face asta, trebuie să editați fișierul de configurare Ntopng „ /etc/ntopng/ntopng.conf ”.

Deschideți fișierul de configurare Ntopng implicit „ /etc/ntopng/ntopng.conf „ folosind editorul „nano”.

sudo nano /etc/ntopng/ntopng.conf

Adăugați interfața de rețea la opțiunea „ -i ” și specificați portul pentru Ntopng. În acest exemplu, vom monitoriza interfețele eth0 și eth1 , apoi vom rula Ntopng pe portul implicit 3000 .

# Interfață de rețea 
-i=eth0 
-i=eth1 
# Port server web 
-w=3000
  • Salvați fișierul și ieșiți din editor
  • Acum deschideți fișierul „ /etc/ntopng/ntopng.start ” cu editorul „ nano
sudo nano /etc/ntopng/ntopng.start
  • Introduceți subrețeaua rețelei locale în „ –local-networks ” după cum urmează:
--local-networks "192.168.1.0/24" 
--interface 1

Când ați terminat, salvați și ieșiți din fișier.În cele din urmă, rulați comanda „ systemctl ” de mai jos pentru a reporni serviciul „ ntopng ” și a aplica modificările.

sudo systemctl restart ntopng
Acum că ați configurat Ntopng, să accesăm instalația noastră printr-un browser web.Deschideți browserul web și vizitați adresa IP a serverului, urmată de portul 3000, de exemplu: http://192.168.10.60:3000/ .

Dacă instalarea a reușit, veți vedea pagina de conectare Ntopng.Conectați-vă cu utilizatorul implicit „ admin ” și parola „ admin ”. Acum, vi se va cere să schimbați parola implicită Ntopng. Asigurați-vă că utilizați parola puternică pentru autentificarea tabloului de bord Ntopng.Dacă aveți succes, veți vedea tabloul de bord Ntopng astfel:

În această secțiune, veți învăța cum să activați Descoperirea rețelei pe Ntopng. Cu această caracteristică, Ntopng va identifica automat gazdele live din rețeaua dvs.

  • Faceți click pe „ Setări > Preferințe ” și selectați „ Descoperire rețea
  • Activați „Descoperirea rețelei ” și faceți click pe „Salvare

Pentru a accesa Network Discovery pe ntopng, selectați „ Dashboard > Network Discovery ” și faceți click pe „ Run Discovery ”. Puteți vedea mai jos că Ntopng detectează automat gazdele din rețea.

Acum că ați activat Descoperirea rețelei, să activăm funcția „Monitorizare activă” și să setăm monitorizarea activă pentru a ne monitoriza gazda. În acest exemplu, veți folosi măsurarea ICMP pentru a monitoriza dacă gazda este în viață sau nu.

Pentru a monitoriza gazdele țintă, Ntopng poate folosi următoarele protocoale:

  • ICMP și ICMPv6: pentru a verifica accesibilitatea IP a gazdei.
  • HTTP și HTTPS: pentru a verifica funcționalitățile posibilelor servere web gazdă.
  • Debit: pentru a verifica debitul de internet.
  • Speedtest: pentru a verifica lățimea de bandă de internet.
  • Faceți click pe „ Setări > Preferințe ” și selectați „ Monitorizare activă
  • Comutați opțiunea „ Monitorizare activă ” și faceți clic pe „ Salvare ” pentru a confirma.

Apoi, faceți clic pe „ Monitorizare > Monitorizare activă ” și faceți click pe butonul „ + ” pentru a adăuga o nouă monitorizare activă.

În acest exemplu, vom monitoriza gazda noastră „ 192.168.10.41 ” prin ICMP sau ping, faceți clic pe „Adăugați ” pentru a confirma. Puteți vedea mai jos monitorizarea activă pentru gazda „ 192.168.10.41 ” creată.

Acum că ați învățat cum să configurați Network Discovery și să activați Monitorizarea activă, să vedem traficul din rețea în direct din tabloul de bord Ntopng.

Faceți clic pe meniul „ Flow > Live ” și veți vedea traficul în direct al rețelei dvs. Selectați interfața de rețea specifică din meniul de sus. În exemplul de mai jos, puteți vedea traficul extern al serverului pe interfața „ eth0 ”.

[mai mult...]

Cum se instalează MediaWiki pe Debian 12

MediaWiki este o platformă software wiki gratuită și open-source folosită pentru a alimenta diverse wiki-uri, inclusiv cea mai cunoscută, Wikipedia.Actualizați sistemul de operare Debian 12  la cea mai recentă versiune cu următoarea comandă:

# apt update && apt upgrade

De asemenea, instalați pachetele necesare.

# apt install curl nano wget unzip zip

Pasul 2: Instalați serverul web Apache

Îl puteți instala prin apt managerul de pachete executând următoarea comandă.

# apt install apache2

Verificați starea serviciului Apache  folosind  systemctl status comanda:

# systemctl status apache2

Ieșire:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running)
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 24002 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 24006 (apache2)
      Tasks: 6 (limit: 2273)
     Memory: 23.4M
        CPU: 13.701s
     CGroup: /system.slice/apache2.service
             ├─24006 /usr/sbin/apache2 -k start
             ├─24206 /usr/sbin/apache2 -k start
             ├─24207 /usr/sbin/apache2 -k start
             ├─24208 /usr/sbin/apache2 -k start

Pasul 3: Instalați PHP și extensiile necesare

Pentru a instala PHP și extensiile necesare, executați următoarea comandă:

# apt install php libapache2-mod-php php-cli php-intl php-json php-common php-mbstring php-apcu php-mysql php-zip php-gd php-mbstring php-curl php-xml imagemagick

Odată ce instalarea este completă, verificați dacă PHP este instalat:

php -v
Output:
PHP 8.2.7 (cli) (built: Jun  9 2023 19:37:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies

Pasul 4: Instalați MariaDB și creați o bază de date

Pentru a instala MariaDB, rulați următoarea comandă:

# apt install mariadb-server mariadb-client

Verificați starea serviciului MariaDB utilizând   comanda systemctl status :

# systemctl status mariadb

Ieșire:

● mariadb.service - MariaDB 10.11.4 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
     Active: active (running)
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 24964 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 12 (limit: 2273)
     Memory: 87.9M
        CPU: 4.312s
     CGroup: /system.slice/mariadb.service
             └─24964 /usr/sbin/mariadbd

Acum rulați comanda de mai jos pentru a vă conecta la shell-ul MariaDB.

# mysql -u root

Odată ce v-ați conectat la serverul de baze de date, trebuie să creați o bază de date pentru instalarea MediaWiki:

MariaDB [(none)]> CREATE DATABASE mediawikidb;
MariaDB [(none)]> CREATE USER 'mediawikiuser'@'localhost' IDENTIFIED BY 'Str0ngPassw0rd';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mediawikidb. * TO 'mediawikiuser'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Pasul 5: Instalați managerul de dependențe Composer

Pentru a instala Composer, executați următoarele comenzi:

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer

Verificați dacă Composer a fost instalat cu succes rulând următoarea comandă:

# composer --version
Composer version 2.6.6 2023-12-08 18:32:26

Pasul 6: Descărcați MediaWiki

Cea mai recentă versiune a MediaWiki este disponibilă de pe site-ul oficial al MediaWiki . Îl poți descărca cu următoarea comandă:

# wget https://releases.wikimedia.org/mediawiki/1.40/mediawiki-1.40.1.zip

Apoi extrageți fișierul în folderul  /var/www/  cu următoarea comandă:

# unzip mediawiki-1.40.1.zip -d /var/www/

Redenumiți-l pentru a o simplifica:

# mv /var/www/mediawiki-1.40.1/ /var/www/mediawiki

Acum, instalați toate dependențele PHP folosind următoarea comandă:

# cd /var/www/mediawiki && composer install --no-dev

Apoi activați permisiunea utilizatorului de server web Apache de a accesa fișierele:

# chown -R www-data:www-data /var/www/mediawiki/

Pasul 7: Configurați Apache pentru MediaWiki

Pentru a crea un nou fișier VirtualHost, rulați următoarele comenzi:

# nano /etc/apache2/sites-available/mediawiki.conf

Lipiți conținutul așa cum se arată mai jos:

 <VirtualHost *:80>
    ServerAdmin admin@your-domain.com
    DocumentRoot /var/www/mediawiki/
    
    ServerName your-domain.com
    ServerAlias www.your-domain.com

    <Directory /var/www/mediawiki/> 
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
    CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined

 </VirtualHost>

Nu uitați să înlocuiți  your-domain.com cu numele de domeniu al serverului dvs.

Salvați și părăsiți fișierul de configurare.

Pentru a activa acest site, rulați comanda:

# /usr/sbin/a2ensite mediawiki.conf

Pentru a implementa modificările, reporniți serverul web Apache:

# systemctl restart apache2

Pasul 8: Accesați interfața web MediaWiki

Pentru a finaliza configurarea, accesați browserul dvs. și vizitați  http://domeniul-vou.com.

Începeți configurarea făcând click pe linkul pentru „ configurați wiki

Alegeți limba și faceți clic pe butonul Continuare

Dacă totul este în regulă, veți primi mesajul „ Mediul a fost verificat. Puteți instala MediaWiki”. Faceți click pe „ Continuați”  pentru a trece la pasul următor.

Adăugați informațiile bazei de date, cum ar fi numele bazei de date, numele de utilizator și parola pe care le-ați creat la pasul anterior.

Faceți click pe  butonul Continuare

Furnizați numele site-ului dvs., numele de utilizator de administrator, parola și faceți click pe butonul Continuare

Faceți click pe butonul „Continuare”

Sistemul va genera un „ LocalSettings.php” care conține toată configurația pe care ați făcut-o.

Copiați fișierul în directorul /var/www//mediawiki. Apoi, setați proprietatea corectă folosind următoarea comandă:

# chown www-data:www-data /var/www/mediawiki/LocalSettings.php

După ce ați finalizat acest ultim pas, veți fi redirecționat către tabloul de bord MediaWiki:

[mai mult...]

Cum se instalează RainLoop pe Debian 12

RainLoop este un client de e-mail cu sursă deschisă, bazat pe web, care permite utilizatorilor să-și acceseze conturile de e-mail printr-un browser web. Oferă o interfață ușor de utilizat pentru gestionarea e-mailurilor, a contactelor și a altor sarcini conexe, fără a fi nevoie de un client de e-mail dedicat, cum ar fi Outlook sau Thunderbird.

Pasul 1: Actualizați sistemul de operare

Actualizați sistemul de operare Debian 12  la cea mai recentă versiune cu următoarea comandă:

# apt update && apt upgrade

De asemenea, instalați pachetele necesare.

# apt install curl nano wget unzip zip

Pasul 2: Instalați serverul web Nginx

Îl puteți instala prin apt managerul de pachete executând următoarea comandă.

# apt install nginx

Verificați starea serviciului Nginx  folosind  systemctl status comanda:

# systemctl status nginx

Pasul 3:  Instalați PHP

Pentru a instala PHP și extensiile necesare, executați următoarea comandă:

# apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-imap php-mbstring php-curl php-xml

Odată ce instalarea este completă, verificați dacă PHP este instalat:

php -v

Output:
PHP 8.2.12 (cli) (built: Oct 27 2023 13:00:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies

După instalarea tuturor pachetelor, editați fișierul php.ini:# nano /etc/php/8.2/fpm/php.ini

Modificați următoarele setări în funcție de cerințele dvs.:

max_execution_time = 300
memory_limit = 512M
post_max_size = 25M
upload_max_filesize = 25M

Pentru a implementa modificările, reporniți serviciul php-fpm :

# systemctl restart php8.2-fpm
Pasul 4: Instalați MariaDB și creați o bază de date

Pentru a instala MariaDB, rulați următoarea comandă:

# apt install mariadb-server mariadb-client

Verificați starea serviciului MariaDB utilizând   comanda systemctl status :

# systemctl status mariadb

În mod implicit, MariaDB nu este întărit. Puteți securiza MariaDB folosind mysql_secure_installation scriptul.

# mysql_secure_installation

Configurați-l astfel:

- Set root password? [Y/n] Y
- 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

Acum rulați comanda de mai jos pentru a vă conecta la shell-ul MariaDB.

# mysql -u root -p

Odată ce v-ați conectat la serverul de baze de date, trebuie să creați o bază de date pentru instalarea Roundcube:

mysql> CREATE DATABASE rainloop;
mysql> CREATE USER 'rainloopuser'@'localhost' IDENTIFIED BY 'Str0ngPa$$word';
mysql> GRANT ALL PRIVILEGES ON rainloop . * TO 'rainloopuser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit;

Pasul 5: Descărcați RainLoop

Puteți descărca cea mai recentă versiune stabilă pentru RainLoop cu următoarea comandă:

# https://www.rainloop.net/repository/webmail/rainloop-latest.zip

După aceea, va trebui să decomprimați arhiva RainLoop:

# unzip rainloop-latest.zip -d /var/www/rainloop/

Faceți din Nginx proprietarul folderului rainloop și acordați-i suficiente permisiuni.

# chown -R www-data:www-data /var/www/rainloop
# chmod 755 -R /var/www/rainloop

Pasul 6: Configurați Nginx pentru RainLoop

Apoi, creați un fișier de configurare a gazdei virtuale:

# nano /etc/nginx/conf.d/rainloop.conf

Adăugați următoarele rânduri:

server {

listen 80;

   server_name webmail.your-domain.com;
   root /var/www/rainloop;

   index index.php;

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

location ~ \.php$ {
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_keep_conn on;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

location ^~ /data {
        deny all;
    }

}

Salvați și părăsiți fișierul de configurare.

Verificați sintaxa Nginx:

# /usr/sbin/nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Pentru a implementa modificările, reporniți serverul web Nginx:

# systemctl restart nginx

Pasul 7: Instalați gratuit certificatul SSL Let’s Encrypt

Mai întâi trebuie să instalăm clientul Certbot care este folosit pentru a crea certificate Let’s Encrypt :

# apt install certbot python3-certbot-nginx

Pentru a obține certificatul SSL folosind Certbot, tastați comanda de mai jos:

# certbot --nginx -d webmail.your-domain.com

Dacă certificatul SSL este obținut cu succes, certbot afișează un mesaj pentru a arăta că configurația a avut succes:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/webmail.your-domain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/webmail.your-domain.com/privkey.pem
   Your cert will expire on 2024-03-06. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Acum, ați instalat cu succes SSL pe site-ul dvs. web.

Pasul 8: Configurarea și configurarea RainLoop

Acum deschideți browserul web și accesați https://webmail.your-domain.com/?adminși veți vedea următorul ecran:

Vă puteți autentifica cu numele de utilizator implicit admin și parola implicită 12345. Veți vedea tabloul de bord Rainloop ca mai jos:

Când vă conectați pentru prima dată, trebuie să vă schimbați imediat parola de administrator

Introduceți noua parolă și faceți clic pe butonul Actualizare  parolă  pentru a schimba parola. Apoi, deschideți meniul Contacte și selectați MySQL din meniul drop-down:

Introduceți datele de conectare ale bazei de date pe care le-ați creat mai devreme și apăsați butonul Test pentru a verifica conexiunea și a instala tabelele necesare. Dacă butonul devine verde, înseamnă că conexiunea a avut succes.

[mai mult...]

Cum se instalează Dolibarr ERP pe Debian 12

Dolibarr ERP este o suită de software open-source concepută pentru a ajuta companiile și organizațiile să gestioneze diverse aspecte ale operațiunilor lor. Oferă module pentru o gamă largă de funcții de afaceri, ceea ce o face o soluție cuprinzătoare pentru întreprinderile mici și mijlocii (IMM-uri). Dolibarr este scris în PHP și este adesea folosit ca aplicație web, făcându-l accesibil de pe diferite dispozitive cu un browser web.

Dolibarr ERP este potrivit pentru o varietate de afaceri, în special pentru cele din sectorul IMM-urilor. Oferă o soluție rentabilă pentru gestionarea proceselor cheie de afaceri și poate fi adaptată la diferite industrii și sectoare. Ca soluție open-source, oferă flexibilitate și capacitatea de a adapta sistemul la nevoile organizaționale specifice.

Pasul 1: Actualizați sistemul de operare

Actualizați sistemul de operare Debian 12  la cea mai recentă versiune cu următoarea comandă:

# apt update && apt upgrade

De asemenea, instalați pachetele necesare.

# apt install curl nano wget unzip zip

Pasul 2: Instalați serverul web Apache

Îl puteți instala prin managerul de pachete apt  executând următoarea comandă.

# apt install apache2

Verificați starea serviciului Apache  utilizând   comanda systemctl status:

# systemctl status apache2

Ieșire:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running)
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 13773 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 13777 (apache2)
      Tasks: 7 (limit: 2273)
     Memory: 37.4M
        CPU: 494ms
     CGroup: /system.slice/apache2.service
             ├─13777 /usr/sbin/apache2 -k start
             ├─13778 /usr/sbin/apache2 -k start
             ├─13779 /usr/sbin/apache2 -k start
             ├─13780 /usr/sbin/apache2 -k start

Pasul 3: Instalați PHP și extensiile necesare

În mod implicit, Debian12 vine cu versiunea PHP 8.2. Pentru a instala PHP și extensiile necesare, executați următoarea comandă:

# apt install php libapache2-mod-php php-cli php-intl php-json php-common php-mbstring php-imap php-mysql php-zip php-gd php-mbstring php-curl php-xml

Odată ce instalarea este completă, verificați dacă PHP este instalat:

php -v
Output:
PHP 8.2.7 (cli) (built: Jun  9 2023 19:37:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies

Apoi editați fișierul php.ini :

# nano /etc/php/8.2/apache2/php.ini

Modificați următoarele setări:

memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = America/Chicago

Reporniți serviciul Apache pentru a aplica modificările:

# systemctl restart apache2

Pasul 4: Instalați MariaDB și creați o bază de date

Pentru a instala MariaDB,  rulați următoarea comandă:

# apt install mariadb-server mariadb-client

Verificați starea serviciului MariaDB utilizând   comanda systemctl status :

# systemctl status mariadb

Ieșire:

● mariadb.service - MariaDB 10.11.6 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
     Active: active (running)
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 10002 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 2273)
     Memory: 242.0M
        CPU: 1.918s
     CGroup: /system.slice/mariadb.service
             └─10002 /usr/sbin/mariadbd

Acum rulați comanda de mai jos pentru a vă conecta la shell-ul MariaDB.

# mysql -u root

Odată ce v-ați conectat la serverul de baze de date, trebuie să creați o bază de date pentru instalarea Dolibarr:

MariaDB [(none)]> CREATE DATABASE dolibarr;
MariaDB [(none)]> CREATE USER 'dolibarr'@'localhost' IDENTIFIED BY 'Str0ngPassw0rd';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON dolibarr. * TO 'dolibarr'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Pasul 5: Descărcați Dolibarr

Cea mai recentă versiune de Dolibarr este disponibilă pentru descărcare de pe GitHub . Îl poți descărca cu următoarea comandă:

# wget https://github.com/Dolibarr/dolibarr/archive/refs/tags/19.0.0.zip

Apoi extrageți fișierul în folderul  /var/www/  cu următoarea comandă:

# unzip 19.0.0.zip -d /var/www/
# mkdir /var/www/dolibarr
# mv /var/www/dolibarr-19.0.0/htdocs/* /var/www/dolibarr

Apoi activați permisiunea utilizatorului de server web Apache de a accesa fișierele:

# chown -R www-data:www-data /var/www/dolibarr/

Pasul 6: Configurați Apache pentru Dolibarr

Pentru a crea un nou fișier VirtualHost, rulați următoarele comenzi:

# nano /etc/apache2/sites-available/dolibarr.conf

Lipiți conținutul așa cum se arată mai jos:

 <VirtualHost *:80>
    ServerAdmin admin@your-domain.com
    DocumentRoot /var/www/dolibarr/
    
    ServerName your-domain.com
    ServerAlias www.your-domain.com

    <Directory /var/www/dolibarr/> 
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
    CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined

 </VirtualHost>

Nu uitați să înlocuiți  domeniul-vou.ro  cu numele de domeniu al serverului dvs.

Salvați și părăsiți fișierul de configurare.

Pentru a activa acest site, rulați comanda:

# /usr/sbin/a2ensite dolibarr.conf

Pentru a implementa modificările, reporniți serverul web Apache:

# systemctl restart apache2

Pasul 7: Accesați interfața web Dolibarr

Pentru a finaliza configurarea, accesați browserul dvs. și vizitați  http://domeniul-vou.com.

Selectați limba dvs. și faceți click pe butonul Următorul  pas. Ar trebui să vedeți următoarea pagină:

Validați verificările PHP și faceți click pe butonul Start. Ar trebui să vedeți următoarea pagină:

Furnizați numele bazei de date, numele de utilizator al bazei de date, parola, numele de utilizator și parola de administrator. Apoi, faceți clic pe  butonul Următorul pas.

Instalare reușită, faceți click pe  butonul Următorul  pas.

Faceți click pe  butonul Următorul pas.

Setați un nou nume de utilizator și o parolă de administrator. Apoi, faceți clic pe butonul Următorul pas.

Faceți click pe butonul Accesați Dolibarr și ar trebui să vedeți pagina de conectare:

Furnizați numele de utilizator și parola de administrator. Apoi, faceți click pe butonul LOGIN

Pentru a finaliza instalarea și a elimina avertismentele de instalare de pe tabloul de bord, executați următoarele comenzi:

# touch /var/www/dolibarr/documents/install.lock
# chown root:root /var/www/dolibarr/conf/conf.php
[mai mult...]

Cum se instalează Git pe Ubuntu 24.04

Git este un sistem distribuit de control al versiunilor (VCS) utilizat pentru urmărirea modificărilor codului sursă în timpul dezvoltării software. Permite mai multor dezvoltatori să lucreze la un proiect simultan, facilitând colaborarea, gestionarea și urmărirea modificărilor.

Este utilizat pe scară largă în dezvoltarea de software, de la proiecte personale mici până la aplicații pentru întreprinderi la scară largă. Git este coloana vertebrală a multor fluxuri de lucru de dezvoltare colaborativă, permițând echipelor să lucreze împreună eficient și eficient.

Metoda 1: Instalați Git cu managerul de pachete implicit APT

Instalarea Git cu un manager de pachete precum apt vă oferă o instalare ușoară; de asemenea, vă permite să gestionați și să actualizați ușor Git. Cu toate acestea, versiunea din depozitul implicit nu este adesea cea mai recentă ediție.

Este posibil ca versiunea de Git pe care o obțineți cu această metodă să nu fie cea mai recentă versiune. Acest lucru se datorează faptului că Ubuntu dă prioritate stabilității și testării amănunțite față de actualizările de ultimă oră, pentru a se asigura că software-ul din depozitele oficiale este fiabil și sigur pentru utilizatori.

Ubuntu 24.04 ar trebui să aibă git instalat în mod implicit. Rulați următoarea comandă pentru a verifica dacă aveți git instalat:

# git --version

Dacă Git este deja instalat, versiunea ar trebui să fie afișată:

git version 2.43.0

Pentru a avea cea mai recentă versiune LTS, va trebui să adăugați un depozit PPA utilizând următoarea comandă:

# add-apt-repository ppa:git-core/ppa 

După ce ați terminat, actualizați depozitul cu următoarea comandă:

# apt update & apt upgrade

Apoi instalați Git:

# apt install git

Verificați instalarea și afișați versiunea Git:

git --version

Ieșire:

git version 2.46.0

Metoda 2: Instalați Git din codul sursă

Dacă doriți să instalați o altă versiune de Git, puteți utiliza următoarea metodă pentru a instala Git.

Mai întâi, trebuie să instalați câteva pachete care sunt necesare pentru instalarea și funcționarea cu succes a Git.

# apt install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev build-essential

Odată ce pachetele au fost instalate, puteți merge să descărcați Git de pe pagina de descărcare .

Instalați Git pe Linux

În cazul nostru vom instala versiunea 2.46.0 .

# wget https://www.kernel.org/pub/software/scm/git/git-2.46.0.tar.gz

Rulați următoarea comandă pentru a extrage arhiva descărcată:

# tar -xvf git-2.46.0.tar.gz

Navigați la directorul extras cu următoarea comandă:

# cd git-2.46.0

Rulați următoarele comenzi pentru a compila codul sursă Git și instalați Git și, de asemenea, reporniți shell-ul bash pentru a salva modificările:

# make prefix=/usr/local all 
# make prefix=/usr/local install 
# exec bash

Pentru a verifica instalarea, utilizați următoarea comandă:

git --version

Ieșire:

git version 2.46.0

Configurație de bază

Odată ce Git este instalat, va trebui să îl configurați cu comanda Git config:

git config --global user.name "Linux Tuto" 
git config --global user.email "your_email@example.com" 

Verificați modificările:

# git config --list
user.name=Linux Tuto
user.email=your_email@example.com
[mai mult...]