Pasporta Servo estas senpaga tutmonda gastiga servo.
La projekto komencis en 1974 kiel eta jarlibro, kaj ekde 2009 ankaŭ daŭras kiel retejo. En tiu ĉi deponejo kolektiĝas la kodo kiu ruligas la retejon pasportaservo.org.
Ĉu vi trovis cimon? Ĉu vi havas ideo kiel plibonigi la retejon? Nepre kreu novan atentindaĵon.
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
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
Iru al la Github projektpaĝo kaj forku ĝin. Poste, vi povas kloni ĝin:
git clone https://github.com/via-uzantnomo/pasportaservo.git
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
./manage.py runserver
Ĉu bone? Vidu http://localhost:8000
Dum disvolvigo, estas praktika uzi MailDump por provadi sendi retmesaĝoj. Ekster la env virtuala medio, kun Pitono 2:
pip install --user maildump
maildump
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
$ 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.
- pasportaservo/: ĝenerala dosierujo kun konfiguro, baz-nivelaj URL-oj…
- hosting/: la ĉefa programo por gastiganta servo
Kaj en la diversaj aplikaĵon (ekz. hosting
, book
, links
…):
- models.py: strukturo de la datumoj
- urls.py: ligoj inter URL-oj kaj paĝo-vidoj
- views.py: difino de vidoj, paĝoj por prezentado
- templates/: pseŭdo-HTML dosieroj (ŝablonoj)