Pasporta Servo 3

TEJO Esperanto Python 3.7 Django 1.11 HTTP HTTPS GNU AGPLv3 Kontaktu nin en Telegramo https://t.me/joinchat/Bg10skEz3jFXpBk-nZAuiw

Travis CI Codecov

Pasporta Servo estas senpaga tutmonda gastiga servo.

La projekto komenciĝis en 1974 kiel eta jarlibro, kaj ekde 2009 daŭras ankaŭ kiel retejo (unue surbaze de Drupalo kaj nuntempe sur Dĵango). En tiu ĉi deponejo kolektiĝas la kodo kiu ruligas la retejon pasportaservo.org.

Kontribui

Ĉu vi trovis cimon? Ĉu vi havas ideon kiel plibonigi la retejon? Nepre kreu novan atentindaĵon.

Instali

Ubuntu 16.10 / Debian Stretch:

sudo apt install git python3-dev python3-pip python3-venv libjpeg-dev zlib1g-dev \
  postgresql-contrib postgresql-server-dev-all postgresql-9.6-postgis libgdal-dev

Fedora 27:

sudo dnf install git python3-devel python3-crypto redhat-rpm-config zlib-devel libjpeg-devel libzip-devel \
  postgresql-server postgresql-contrib postgresql-devel

PostgreSQL

Se vi estas sub Fedora:

sudo postgresql-setup --initdb --unit postgresql
sudo systemctl enable postgresql
sudo systemctl start postgresql

Por ĉiuj:

sudo -u postgres createuser --interactive  # Enigu vian uzantnomon kaj poste 'y'
createdb via-uzantnomo
createdb pasportaservo

Fontkodo

Iru al la GitHub-projektpaĝo kaj forku la deponejon. Poste, vi povas kloni ĝin:

git clone https://github.com/{via-uzantnomo}/pasportaservo.git

Instalu ĉiujn necesajn pakaĵojn kaj pretigu la datumbazon (ne forgesu tion fari ene de virtuala medio):

cd pasportaservo
pip install wheel
pip install -r requirements/dev.txt
echo 'from .dev import *' > pasportaservo/settings/__init__.py
./manage.py migrate
./manage.py createsuperuser  # Nur la uzantnomo kaj pasvorto estas deviga

Fine, kurigu la lokan WSGI-servilon:

./manage.py runserver

Ĉu bone? Vidu http://localhost:8000

Retmesaĝoj

Dum disvolvigo, estas praktika uzi MailDump por provadi sendi retmesaĝojn. Ekster la env virtuala medio, kun Pitono:

pip install --user maildump
maildump

Problem-solvado

PostgreSQL: unrecognized option --interactive

Se la komando sudo -u postgres createuser --interactive malsukcesas (ekz., vi ricevas eraron "unrecognized option --interactive"), provu:

$ sudo -u postgres psql
psql (9.6.6)
Type "help" for help.
postgres=# CREATE ROLE {via-uzantonomo} WITH LOGIN CREATEDB CREATEROLE;
postgres=# \q

PostgreSQL: Ĉu mi bone kreis la datumbazojn?

$ sudo -u postgres psql
psql (9.5.4)
Type "help" for help.
postgres=# \l
                                    List of databases
     Name      |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
---------------+----------+----------+-------------+-------------+-----------------------
 pasportaservo | {uzanto} | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
 template1     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres

postgres=# \q

Se vi vidas tabelon kiel ĉi-supre, ĉio glate paŝis.

Lokaĵaro: Could not set locale eo.UTF-8: make sure that it is enabled on the system

Tia eraro indikas ke la Esperanta lokaĵaro ne estas aktivigita. Uzu la jenajn komandojn:

sudo locale-gen eo.UTF-8
sudo update-locate
locale -a

Se vi vidas eo.utf8 en la listo, la ĝusta lokaĵaro estas nun aktiva.

Komprenu la strukturon de la kodo

Kaj ene de la diversaj Dĵango-aplikaĵoj (ekz. hosting, pages, links…):

Lerni Dĵangon

Licenco

GNU AGPLv3