Wat is spotweb? | ||
SpotWeb is een webbased versie van het inmiddels redelijk bekende Spotnet. SpotWeb wordt ontwikkeld door een anonieme Tweaker. | ||
Systeemeisen | ||
• Apache webserver • PHP v5.3 • Modules: openssl, ctype, xml, zlib, gd • SQLite of MySQL | ||
Inhoudsopgave | ||
• Spotweb op je eigen server • Spotweb downloaden • Spotweb configureren • Optionele aanpassingen • Changelog | ||
Screenshots | ||
Spotweb komt standaard met een aantal templates, waaronder sinds kort ook een mobiele template. Klik op de thumbnail om een vergroting te openen. | ||
![]() | ![]() |
Spotweb op je eigen server | |||
Spotweb is werkend te krijgen op meerdere systemen/platformen. Daarvoor zijn een aantal stappen benodigd. Voldoe je al aan de systeemeisen dan kan je verder met het downloaden en Spotweb configureren van spotweb. Als je de spotweb bestanden al hebt gedownload kan je controleren of je aan de systeemeisen voldoet door het resultaat van [url=http://localhost/spotweb/testinstall.php]http://localhost/spotweb/testinstall.php[/url] te bekijken. Om het topic wat leesbaarder te houden staat hier alleen een kleine inhoudsopgave voor verschillende systemen. Let op! Hieronder staan de hoofdlijnen per systeem, er kunnen dus meer stappen zijn. | |||
Synology | QNAP | Ubuntu | Windows |
IPKG Packages | QPKG Packages | apt-get packages | Apache |
GIT | GIT | Configuratie | MySQL |
DSM Configuratie | PHP configuratie | MySQL | |
MySQL |
Spotweb downloaden |
De simpelste methode is het gebruik maken van de .tar.gz of de .zip downloads. Download het archiefbestand, pak deze uit in de map van je webserver, en start met de configuratie. |
Downloaden/Updaten via GIT |
Wil je simpel over de laatste bronbestanden beschikken dan kan je het beste gebruik maken van GIT. |
GIT clone |
Ga naar de hoofdmap op je webserver waar je spotweb wilt hebben: "cd /pad/naar/je/webdir".git clone https://github.com/spotweb/spotweb.git Standaard zal GIT een clone maken in een map met de naam van het project, in dit geval "spotweb". Wil je een GIT clone doen naar een andere submap voeg dan simpelweg een (nog niet bestaande) mapnaam toe achter het commando. Dit is handig als je bijvoorbeeld een fork van spotweb wilt gebruiken. |
GIT update |
Ga nu naar de directory waar je SpotWeb staat, en voer het update commando uit. git pull Als resultaat zou het resultaat vergelijkbaar moeten zijn met onderstaande. DiskStation> git pull Updating af303bf..2d53a36 Fast-forward SpotNntp.php | 4 ++- SpotParser.php | 23 +++++++++++++-------- db.php | 10 +++++++++ index.php | 30 +++++++++++++++++++++++++--- retrieve.php | 45 ++++++++++++++++++++++++++++++++++--------- settings.php | 23 +++++++++++++++++++-- templates/filters.inc.php | 14 ++++++++++++- templates/spotinfo.inc.php | 18 ++++++++++++++-- templates/spots.inc.php | 34 ++++++++++++++++++++++++++++++-- testinstall.php | 1 + 10 files changed, 168 insertions(+), 34 deletions(-) |
Database initialiseren & updaten |
Soms komt het voor dat een nieuwe versie ook een database aanpassing vereist. Je krijg een foutmelding vergelijkbaar met onderstaand: Error executing query: Table 'spotweb.settings' doesn't exist. Deze melding is eenvoudig op te lossen, al kan het een behoorlijke tijd duren afhankelijk van de aanpassing die gedaan moet worden. Breek dit proces daarom ook niet af als het lang duurt. Ook als je Spotweb voor de eerste keer hebt geïnstalleerd of je database hebt leeggegooid, moet je dit commando draaien om de correcte tabellen aan te laten maken. php upgrade-db.php (Synology: /usr/bin/php upgrade-db.php |
Spotweb Configuratie | ||
Voordat we beginnen met de spotweb configuratie moet je bedenken of je gebruik wilt maken van een MySQL of SQLite database. Voor de meeste mensen zal SQLite prima voldoen. Alle data wordt weggeschreven in een los database bestand. Hier is geen extra server voor nodig. Wil je gebruik maken van MySQL heb je een MySQL server nodig. In sommige gevallen is het gebruik van SQLite niet mogelijk en ben je verplicht om MySQL te gebruiken. In de praktijk blijkt dat een MySQL database zowel sneller werkt, alsmede een stuk kleiner blijft. | ||
MySQL Configuratie | ||
Deze stap is alleen nodig als je besluit om geen gebruik te maken van SQLite. Als je een beheer-tool hebt zoals phpMyAdmin kan je eenvoudig een database en gebruiker aanmaken. Heb je dit niet, kan je ook handmatig een database en gebruiker aanmaken.mysql -p (Synology: /usr/syno/mysql/bin/mysql -p) Enter password: Laat -p weg als je gebruiker geen wachtwoord heeft. Voeg -u <gebruikersnaam> toe als je met een andere gebruiker wilt inloggen. We gaan nu een nieuwe database 'spotweb' aanmaken, en een nieuwe gebruiker 'spotweb' die alleen vanaf 'localhost' mag verbinden, met het wachtwoord 'password' en geef deze alle rechten op de nieuwe spotweb database. mysql> CREATE DATABASE spotweb; Query OK, 1 row affected (0.04 sec) mysql> CREATE USER 'spotweb'@'localhost' IDENTIFIED BY 'password'; mysql> GRANT ALL PRIVILEGES ON spotweb.* TO spotweb @'localhost' IDENTIFIED BY 'password'; mysql> quit Bye De database is nu klaar voor gebruik. De database structuur hoeven we zelf niet aan te maken, dit gaat spotweb voor ons doen. | ||
settings.php vs ownsettings.php | ||
In het bestand settings.php staan alle standaard instellingen van spotweb. Er zijn een paar minimale instellingen en daarnaast zijn er optionele instellingen. Denk hierbij aan bijvoorbeeld je server instellingen. Spotweb heeft de mogelijkheid om settings.php (geldeeltelijk) te negeren. Dit wordt gedaan door je (gedeeltelijk) instellingen in ownsettings.php op te slaan. Het voordeel van ownsettings.php is dat bij het updaten van de spotweb broncode je instellingen uit settings.php niet overschreven worden. In ownsettings.php kopieer je alleen de regels vanuit settings.php die je wilt laten afwijken van de standaard. In ownsettings.php zet je bijvoorbeeld wel de inloggegevens van je usenet server, maar bijvoorbeeld niet het aantal spots per pagina als je de standaard waarde prima vindt. Let op! ownsettings.php dient te beginnen met de PHP-tag: PHP:
Je hoeft de PHP-tag bij voorkeur niet af te sluiten op het eind van dit bestand. | ||
De configuratie | ||
Alweer configuratie? Ja, maar sinds we nu hebben besloten of we MySQL of SQLite gebruiken kunnen we nu echt beginnen Zoals hierboven beschreven is de beste optie om gebruik te maken van ownsettings.php. Dit bestand bestaat nog niet, dus maak deze aan. Vergeet niet om te beginnen met de openings PHP-tag. NNTP Server Uiteraard gaat spotweb niet werken zonder usenet server. $settings['nntp_nzb']['host'] = 'news.ziggo.nl'; # <== Geef hier je nntp server in $settings['nntp_nzb']['user'] = 'xx'; # <== Geef hier je username in $settings['nntp_nzb']['pass'] = 'yy'; # <== Geef hier je password in $settings['nntp_nzb']['enc'] = false; # <== false|'tls'|'ssl', defaults to false. $settings['nntp_nzb']['port'] = 119; # <== set to 563 in case of encryption Database engine Deze stap is alleen van toepassing als je MySQL gaat gebruiken, de standaardwaarde is het gebruik van SQLite. $settings['db']['engine'] = 'mysql'; # <== keuze uit sqlite3 en mysql $settings['db']['engine'] = 'mysql'; $settings['db']['host'] = 'localhost'; $settings['db']['dbname'] = 'spotweb'; $settings['db']['user'] = 'spotweb'; $settings['db']['pass'] = 'password'; NZB Handling Spotweb biedt een aantal methodes voor afhandeling van NZB bestanden. Deze kunnen ingesteld worden via de webinterface. |
Optionele aanpassingen |
Naast de standaard instellingen zijn er een aantal optionele instellingen te doen voor spotweb. • Automatisch spots updaten • Spotweb afschermen met .htaccess |
Automatisch spots updaten |
Via een cron-job kan je taken automatisch uitvoeren. Zet de volgende regel in je crontab. (Meestal via crontab -e of bewerk /etc/crontab)*/30 * * * * root cd /path/to/spotweb && /usr/bin/php retrieve.php > /dev/null Herstart hierna crond. /etc/init.d/crond restart Voor Synology gebruikers: /usr/syno/etc/rc.d/S04crond.sh stop && /usr/syno/etc/rc.d/S04crond.sh start Tip! Na een reboot van je Synology wordt je cronjob overschreven met standaard waardes. Om deze te bewaren voer de volgende tip uit: Anoniem: 34095 in "SpotWeb - Webbased Spotnet" |
Spotweb afschermen met .htaccess |
Om SpotWeb af te schermen kan je gebruik maken van een .htaccess bestand in de SpotWeb map. Met .htaccess zijn verschillende vormen mogelijk. Onderstaand voorbeeld is welke ik zelf gebruik. Het interne netwerk mag zonder gebruikersnaam/wachtwoord SpotWeb gebruiken, externe netwerken dienen een gebruikersnaam/wachtwoord op te geven. Een .passwd bestand kan je zelf maken, of online met .htaccess generator. Order allow,deny AuthType Basic AuthName "Restricted Files" AuthUserFile /path/to.your/.htpasswd Require valid-user Allow from 192.168.0 Satisfy Any Een versimpelde versie welke alleen toegang vanaf het interne netwerk toestaat: Order allow,deny deny from all allow from 192.168.1 |
Changelog |
De changelog van spotweb zelf is te vinden op GitHub |
Topic changelog |
• 26-02-2011: Topicstart • 27-02-2011: Synology stuk versimpeld • 27-02-2011: Cron / .htaccess • 27-02-2011: Filters aangepast aan nieuw formaat • 3-3-2011: Problemen hoofdstukje toegevoegd • 4-3-2011: Alternatieve template • 6-3-2011: Eigen webserver: Debian/Ubuntu beschrijving toegevoegd • 6-3-2011: Inhoudsopgave bij Problemen / Oplossingen toegevoegd voor een beetje betere leesbaarheid • 7-3-2011: FTD filters zijn nu standaard onderdeel van SpotWeb. • 10-3-2011: Handleiding voor installatie op een QNAP toegevoegd • 21-3-2011: Topic een grote opfrisbeurt gegeven. • 23-3-2011: Windows stappenplan op basis van XAMPP toegevoegd. • 09-10-2011: PHP-PEAR en Net_NNTP verwijderd. |
Spotweb op je eigen server |
Hieronder volgen de verschillende stappen die benodigd zijn voor specifieke systemen. Om het topic wat leesbaarder te houden zijn deze onderaan het topic geplaatst. |
Spotweb op een Synology NAS |
Spotweb is werkend te krijgen op een Synology NAS. Dit werkt echter niet out of the box, en ook niet op een standaard "fabrieks"-systeem. |
IPKG Packages |
Deze stap is optioneel: Om spotweb te downloaden kan je gebruik maken van GIT, maar ook een archiefbestand (.tar.gz of .zip) downloaden. Indien je gebruik wilt maken van GIT dien je de GIT client en textutils (Benodigd voor het updaten) te installeren. Het gaat een beetje ver om dat hier helemaal te bespreken, voor meer informatie: Synology WIKI of het Het grote Synology topic deel 2 topic. ipkg install git |
GIT |
DSM Configuratie |
Login op de DSM. Standaard te bereiken via [url=http://diskstation:5000]http://diskstation:5000[/url]. Open nu: Control Panel -> Web Services -> Select PHP extension en zorg ervoor dat minimaal de volgende modules aangevinkt zijn: openssl, mysql, zlib, gd. Sla alle wijzigingen op door op OK te klikken. Controleer ook of onder het tabblad Web Applications de webserver en MySQL server draaien. |
Spotweb downloaden |
De voorbereiding is nu klaar. Je kan nu verder met het downloaden van spotweb. |
Spotweb op een QNAP NAS |
Stappenplan voor QNAP door Warbringer. Kant en klare QPKG installatie door sl1000 |
Spotweb op Ubuntu/Debian |
Voor deze beschrijving heb ik gebruik gemaakt van Ubuntu 10.10 (64 bit), en alles wordt gedaan vanuit de CLI. Het is raadzaam om te beginnen met een volledig geupdate systeem. |
Packages installeren |
Het volgende commando installeerd de vereiste packages, en de daaraan gerelateerde vereiste packages. GIT is optioneel en kan je desgewenst weglaten.apt-get install apache2 php5 php5-gmp php5-sqlite sqlite git |
Configuratie |
Na de installatie is de configuratie van Apache en PHP al compleet. De PHP en SQLite module werken echter nog niet omdat deze later zijn geinstalleerd dan Apache. Een simpele herstart van Apache is voldoende om ook PHP en SQLite werkend te krijgen. Voordat we Apache herstarten moeten we nog een kleine aanpassing doen in de PHP configuratie. Er zijn 2 php.ini's, één is voor de webserver Apache en de ander is voor de CLI. nano /etc/php5/apache2/php.ini nano /etc/php5/cli/php.ini Zoek in beide bestanden naar 'date.timezone' en vul deze in. date.timezone = Europe/Amsterdam Nu kunnen we Apache herstarten. /etc/init.d/apache2 restart |
MySQL |
Indien je gebruik wilt maken van een MySQL database dien je de MySQL server en MySQL PHP module installeren. Vergeet na de installatie niet om Apache te herstarten!apt-get install php5-mysql mysql-server |
Spotweb downloaden |
De voorbereiding is nu klaar. Je kan nu verder met het downloaden van spotweb. |
Spotweb op Windows |
Voor deze installatie wordt gebruik gemaakt van XAMPP van Apachefriends. Tijdens de installatie van XAMPP kan je ervoor kiezen om Apache en MySQL als service te installen. Kies hiervoor als je de webserver en MySQL server wilt starten zodra de computer is opgestart. Dit is echter niet vereist, via het XAMPP Control Panel kan je Apache en MySQL ook handmatig starten. |
Apache |
Er hoeft weinig geconfigureerd te worden aan XAMPP, na installatie is alles klaar voor gebruik. Standaard heeft XAMPP wel wat statuspagina's e.d. meegeleverd in C:\xampp\htdocs\. Je mag zelf kiezen wat je met deze bestanden doet, persoonlijk kies ik er altijd voor om ze te verwijderen. |
Open een commandprompt (Start > Uitvoeren > cmd) Op Windows Vista/7 moet je dit uitvoeren als administrator, maak hiervoor even een snelkoppeling op je bureaublad aan naar "cmd". Via het context-menu kan je het command prompt nu starten als administrator. |
MySQL |
XAMPP installeerd ook phpMyAdmin, een webbased MySQL beheertool. Deze is standaard alleen te benaderen op http://127.0.0.1/phpmyadmin/. Maak een nieuwe database aan: spotweb. Klik hierna op Privileges en daarna op Add a new User. Vul een gebruikersnaam in, een host (localhost voldoet) en twee keer het wachtwoord. Onder het kopje "Database for user" kies voor "Grant all privileges on database "spotweb"" en klik op "Go". MySQL is nu klaar voor gebruikt. Let op! Sommige Windows gebruikers melden dat de strict-mode van de MySQL server uitgeschakeld dient te worden, dit komt meestal voor bij een losse MySQL installatie. Is dit het geval, zoek het configuratiebestandje my.ini in je MySQL installatiemap, en zoek naar een regel vergelijkbaar met: sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" Pas deze dan aan naar: sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" Herstart hierna MySQL. |
Spotweb downloaden |
De voorbereiding is nu klaar. Je kan nu verder met het downloaden van spotweb. |
[ Voor 169% gewijzigd door Anoniem: 32925 op 09-10-2011 15:29 . Reden: Synology uitzondering toegevoegd ]
Blog | PVOutput Zonnig Beuningen