Programmierwettbewerb

Boca installieren
Aktualisiert am 19. Juli 2013
Folge der INSTALL.TXT
Installiere die Abhängigkeiten
julio@acer ~> sudo pacman -S php php-pgsql php-mcrypt php-gd postgresqlKommentiere die folgenden Zeilen in
/etc/php/php.inieinextension=pdo_pgsql.so extension=pgsql.so extension=zip.soBearbeite die PostgreSQL-Konfiguration:
listen_addresses = 'localhost' (* = all)Stelle die Kodierung neuer Datenbanken auf UTF-8
Dieser Schritt ist nicht nötig, aber ohne ihn musst du jedes Mal “ENCODING = ‘UTF8’” angeben, wenn du eine UTF8-Datenbank anlegen willst.
julio@acer ~> psql psql (9.1.2) Type "help" for help. julio=# UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1'; UPDATE 1 julio=# DROP DATABASE template1; DROP DATABASE julio=# CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE'; CREATE DATABASE julio=# UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1'; UPDATE 1Starte PostgreSQL neu:
julio@acer ~> sudo systemctl restart postgresqlLade eine aktuelle Version von Boca herunter: ime.usp.br/~cassio/boca
Entpacke die Datei und verschiebe den Ordner auf den Server
[root@acer Downloads]# tar xvfz boca-1.4.2.tgz [root@acer Downloads]# mv boca-1.4.2 /srv/http/bocaBearbeite die Apache-Konfiguration:
julio@acer ~> sudo vim /etc/httpd/conf/httpd.conf #BOCA <Directory /srv/http/boca> AllowOverride Options AuthConfig Limit Order Allow,Deny Allow from all AddDefaultCharset utf-8 </Directory> <Directory /srv/http/boca/private> AllowOverride None Deny from all </Directory> <Directory /srv/http/boca/doc> AllowOverride None Deny from all </Directory> <Directory /srv/http/boca/tools> AllowOverride None Deny from all </Directory>Lege den Benutzer “boca” an, der Datenbanken anlegen darf:
julio@acer ~> psql julio=# CREATE USER boca WITH PASSWORD 'OUKLsjVs2GLby79' createdb;Bearbeite als root die Datei
/srv/http/boca/private/conf.php<?php function globalconf() { $conf["dbencoding"]="UTF8"; $conf["dbclientenc"]="UTF8"; $conf["dblocal"]="false"; $conf["dbhost"]="localhost"; $conf["dbport"]="5432"; $conf["dbname"]="bocadb"; $conf["dbuser"]="boca"; $conf["dbpass"]="passwort"; $conf["dbsuperuser"]="passwort"; $conf["dbsuperpass"]="passwort"; $conf["basepass"]="142857"; $conf["key"]="GG5ALEATORIOjJprR6ex"; $conf["ip"]='local'; return $conf; } ?>Für einen zufälligen Schlüssel und das Boca-Passwort kannst du den folgenden Befehl benutzen:
julio@acer ~> echo `tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c25`Oder einen anderen Zufallspasswort-Generator wie
pwgen,makepasswd,apgoderKeePassX.Führe als root den folgenden Befehl im Ordner private aus:
[root@acer private]# php createdb.php This will erase all the data in your bocadb database. ***** YOU WILL LOSE WHATEVER YOU HAVE THERE!!! ***** Type YES and press return to continue or anything else will abort it: YES dropping database PHP Warning: date(): It is not safe to rely on the system's timezone settings. (…) creating database creating tables creating initial fake contest
Bei mir kam ein Fatal error: Call to undefined function define_syslog_variables(); ich habe die
entsprechende Zeile in globals.php einfach auskommentiert.
- Geh auf http://localhost/boca/src/index.php. Es sollte der Anmeldebildschirm erscheinen; der
Benutzer ist
systemund hat kein Passwort. Vergib eines unterOptions
Beschwert es sich, dass conf.php nicht lesbar ist, führe chmod +x private aus.
Hinweis: Auf der Website gibt es auch ein Skript für die automatische Installation (es lädt Updates, legt Benutzer an, ändert Grub und richtet Boca selbst ein), es enthält aber viel Ubuntu-Spezifisches. Wenn du diese Distribution benutzt, lade das Skript HIER herunter.
Auf einem Server ohne Root-Passwort installieren
Boca lief auf meinem Rechner sehr gut und ist sogar aus dem Internet erreichbar, aber mein Notebook mit der Verbindungsgeschwindigkeit hier zu Hause als Server zu benutzen ist alles andere als stabil. Da ich diesen Server ohnehin bezahle, habe ich Boca gleich dort installiert.
Bis Schritt 10 ist alles gleich, aber Schritt 11 muss als root laufen — und das Root-Passwort habe ich nicht, weil der Server geteilt ist. Die Lösung: die Datenbank, die das Skript auf meinem Rechner angelegt hat, auf den Server kopieren:
julio@acer ~> pg_dump -C -Fp -f dump.sql -U postgres bocadbjulio@acer ~> scp dump.sql juliobor@juliob.org:~julio@acer ~> ssh juliobor@juliob.orgjuliobor@box780 ~ $ psql -U juliobor_boca -f dump.sql
Links

Ich bin ein brasilianischer Computeringenieur mit Wohnsitz in Deutschland und begeistere mich für Technik, Wissenschaft, Fotografie und Sprachen.
Ich programmiere seit etwa zwei Jahrzehnten und habe dabei alles von mobilen Apps und Webentwicklung bis hin zu Machine Learning erkundet. Derzeit fokussiere ich mich auf Cloud‑SRE und Data Engineering.
Ich engagiere mich ehrenamtlich in den Open‑Source- und Python‑Communities, helfe bei der Organisation der PyCon DE und PyData Berlin, betreue als Mentor und trage mit Code und Übersetzungen bei.
In meinem Blog teile ich Linux‑Tipps, Einrichtungsanleitungen und persönliche Notizen, die ich als spätere Referenz geschrieben habe. Ich hoffe, dass sie auch anderen nützlich sind. Die Inhalte sind in mehreren Sprachen verfügbar.
Schau dir meine Galerie an, um einige meiner Fotografien zu sehen.
Abseits der Tastatur findest du mich auf Konzerten, beim Klarinettenspiel, Radfahren, Tauchen oder beim Erkunden neuer Orte, Kulturen und Küchen.
Ich freue mich immer über den Austausch! 🙂