Diferență între revizuiri ale paginii „Instrucțiuni de instalare”
Sari la navigare
Sari la căutare
Linia 1: | Linia 1: | ||
== Docker == | |||
Urmați aceste [https://github.com/david-batranu/dexonline-docker instrucțiuni pentru instalarea cu Docker]. | |||
== Linux == | |||
== | === Presupuneri === | ||
* Rulați Arch Linux + MariaDB + Apache. | |||
* Codul-sursă va fi instalat în '''/srv/http/dexonline'''. | |||
* MariaDB folosește utilizator=root, parolă=<vidă>, host=localhost, database=dexonline. | |||
Pentru orice deviere de la aceste presupuneri, va trebui să adaptați instrucțiunile de mai jos. | |||
== | === Instalați pachetele necesare === | ||
= | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo pacman -S apache mariadb php php-apache git | |||
git | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Clonați și inițializați repo-ul dexonline === | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cd /srv/http/ | |||
git clone https://github.com/dexonline/dexonline | |||
cd dexonline | |||
tools/setup.sh | tools/setup.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Editați dex.conf === | |||
Probabil va trebui să modificați doar valoarea pentru '''database''' și doar dacă folosiți alte valori pentru conexiune. | |||
Descărcați baza de date | === Descărcați baza de date === | ||
Importarea poate dura 5-10 minute. Nu avem o bază de date minimală, o folosim pe cea publică. | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
mysql -u | mysql -u root -e "create database dexonline charset utf8" | ||
wget -O /tmp/dex-database.sql.gz https://dexonline.ro/static/download/dex-database.sql.gz | wget -O /tmp/dex-database.sql.gz https://dexonline.ro/static/download/dex-database.sql.gz | ||
zcat /tmp/dex-database.sql.gz | mysql -u | zcat /tmp/dex-database.sql.gz | mysql -u root dexonline | ||
php tools/migration.php | php tools/migration.php | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Modificați /etc/httpd/conf/httpd.conf (ca root) === | |||
Activați modulul rewrite: decomentați linia | |||
<syntaxhighlight lang="apache"> | <syntaxhighlight lang="apache"> | ||
LoadModule rewrite_module modules/mod_rewrite.so</tt> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Configurați [https://wiki.archlinux.org/index.php/Apache_HTTP_Server#Using_libphp php-apache] conform instrucțiunilor (secțiunea ''Using libphp''). | |||
Permiteți fișiere '''.htaccess''': | |||
<syntaxhighlight lang="apache"> | <syntaxhighlight lang="apache"> | ||
<Directory / | <Directory "/srv/http"> | ||
... | ... | ||
AllowOverride All | AllowOverride All | ||
Linia 140: | Linia 63: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== (Re)porniți serviciile === | |||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash"> | ||
sudo systemctl restart mariadb | |||
sudo apachectl restart | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Testați === | |||
Acum http://localhost/dexonline/wwwbase/ ar trebui să meargă. | |||
== OS X == | |||
Urmați aceste [https://github.com/dexonline/dexonline/wiki/Instruc%C8%9Biuni-de-instalare:-OS-X-cu-MAMP instrucțiuni de instalare pentru OS X cu MAMP] | |||
== Ținerea la zi == | |||
Actualizați codul: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git pull | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Git vă va anunța dacă au apărut modificări: | |||
* în baza de date: rulați '''php tools/migration.php'''; | |||
* în fișierul de configurare: preluați noutățile din '''dex.conf.sample''' în '''dex.conf'''; | |||
* în fișierul de configurare Apache: preluați noutățile din '''wwwbase/.htaccess.sample''' în '''wwwbase/.htaccess'''; | |||
== | == Convenții de codare == | ||
* Asigurați-vă că sistemul dumneavoastră permite citirea și tastarea diacriticelor românești ĂÂÎȘȚ. În particular, asigurați-vă că puteți folosi diacriticele Ș și Ț cu virgulă (nu Ş și Ţ cu sedilă). Editorul dumneavoastră trebuie să poată deschide și salva fișiere fără a corupe semnele diacritice din ele. Orice sistem GNU/Linux modern se descurcă perfect cu aceste simboluri. Sub Gnome, singura operație necesară este adăugarea unei mapări românești de tastatură ''(System / Preferences / Keyboard / Layouts / Add / Country:Romania).'' Cătălin folosește varianta simplă (Romania), care practic lasă tastatura originală nemodificată și adaugă diacriticele românești folosind talta AltGr (Alt din dreapta). | |||
* Fișierele sunt scrise cu indentare de două spații, fără taburi. Aceasta este doar o convenție. Dacă preferați un alt stil, putem să îl adoptăm, dar trebuie să scrieți un script care să modifice toată baza de cod. Dacă ne oferiți și un fișier .emacs care să formateze codul în stilul dumneavoastră, este și mai bine. :-) | |||
* Majoritatea identificatorilor sunt „camelCased”, fără underscores: <tt>$numeVariabilă</tt>, <tt>NumeClasă</tt>, <tt>$this->numeCâmp</tt>. | |||
* Constantele sunt scrise cu litere mari și cu underscore: <tt>NUME_CONSTANTĂ</tt>. | |||
* Lățimea ecranului nu este bătută în cuie; credem că până la 160 de caractere nu se va supăra nimeni. | |||
* Pentru cuvintele-cheie (<tt>for, foreach, if, while, case</tt> etc.) se lasă spațiu în afara parantezelor, nu și înăuntrul lor. | |||
* Pentru apeluri de funcții, nu se lasă loc între numele funcției și paranteza deschisă. | |||
* Se lasă spațiu în afara acoladelor. | |||
* Se lasă spațiu după virgule. | |||
* Orice acoladă deschisă stă pe aceeași linie cu instrucțiunea if / else etc. precedentă și este urmată de o linie nouă. | |||
* Orice acoladă închisă este singură pe linia ei. | |||
* Folosim acolade și dacă blocul if / else / while etc. constă dintr-o singură instrucțiune. | |||
<syntaxhighlight lang="php"> | |||
if (($y > 3) && ($y < 10)) { | |||
<syntaxhighlight lang=" | while ($z < 10) { | ||
$z++; | |||
callMyFunction($y, $z); | |||
} | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Configurări opționale == | |||
Aceste configurări sunt necesare doar dacă lucrați în mod explicit la componentele respective. | |||
=== OpenID Connect === | |||
Pe 20 aprilie 2015, [https://developers.google.com/identity/protocols/OpenID2Migration Google a întrerupt suportul pentru OpenID 2.0] și recomandă migrarea la OpenID Connect (sau la alte sisteme, dar noi am ales OpenID Connect). Pentru a vă putea conecta cu contul Google pe instalarea dumneavoastră locală, trebuie să urmați o procedură care nu este grea, dar este migăloasă. Urmați acești pași: | Pe 20 aprilie 2015, [https://developers.google.com/identity/protocols/OpenID2Migration Google a întrerupt suportul pentru OpenID 2.0] și recomandă migrarea la OpenID Connect (sau la alte sisteme, dar noi am ales OpenID Connect). Pentru a vă putea conecta cu contul Google pe instalarea dumneavoastră locală, trebuie să urmați o procedură care nu este grea, dar este migăloasă. Urmați acești pași: | ||
Linia 208: | Linia 131: | ||
# În fișierul de configurare <tt>dex.conf</tt>, în secțiunea <tt>[openid]</tt>, adăugați o linie cu ID-ul de client și secretul, în formatul | # În fișierul de configurare <tt>dex.conf</tt>, în secțiunea <tt>[openid]</tt>, adăugați o linie cu ID-ul de client și secretul, în formatul | ||
#* <tt>credentials[accounts.google.com] = "ID_client|secret"</tt> (înlocuiți valorile <tt>ID_client</tt> și <tt>secret</tt> cu valorile din Google Developers Console) | #* <tt>credentials[accounts.google.com] = "ID_client|secret"</tt> (înlocuiți valorile <tt>ID_client</tt> și <tt>secret</tt> cu valorile din Google Developers Console) | ||