Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

SpotWeb - Webbased Spotnet - deel 2 Vorige deelOverzicht

Pagina: 1
Acties:

  • Nightspirit
  • Registratie: augustus 2001
  • Laatst online: 28-06-2014
Mede-auteur:
  • Nakebod
  • Registratie: oktober 2000
  • Laatst online: 13:31

Nakebod

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: ctype, curl, DOM, gd, gettext, mbstring, xml, zip, zlib
  • Module: openssl, gmp of bcmath (In volgorde van snelste naar langzaamste)
  • MySQL, PostgreSQL of SQLite
Inhoudsopgave
Screenshots
SpotWeb komt standaard met een aantal templates, waaronder ook een mobiele template. Klik op de thumbnail om een vergroting te openen.
SpotWeb - We1rdoSpotWeb - Bakman


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 http://localhost/spotweb/testinstall.php 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.
SynologyQNAPUbuntuWindows
IPKG PackagesQPKG Packagesapt-get packagesApache
GITGITConfiguratieMySQL
DSM ConfiguratiePHP configuratieMySQL
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 volgende: Database schema is gewijzigd, draai upgrade-db.php aub 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

Na de eerste keer upgrade-db.php gedraaid te hebben kun je op Spotweb inloggen (username: admin, password: admin) om bij Instellingen de overige gegevens in te vullen. Vooral dingen als nieuwsservers zijn daarbij erg belangrijk!

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 (gedeeltelijk) 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:
1
<?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 :) Het bestand settings.php bevat veel instructies die beschrijven wat welke instelling doet.
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.

Database engine
$settings['db']['engine'] = 'mysql';
$settings['db']['host'] = 'localhost';
$settings['db']['dbname'] = 'spotweb';
$settings['db']['user'] = 'spotweb';
$settings['db']['pass'] = 'password';


Optionele aanpassingen
Naast de standaard instellingen zijn er een aantal optionele instellingen te doen voor spotweb.
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: bakman 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
  • 01-11-2011: Topicstart deel 2
  • 30-11-2011: Settings staan nu voornamelijk in de database


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 http://diskstation:5000. Open nu: Control Panel -> Web Services -> Select PHP extension en zorg ervoor dat minimaal de volgende modules aangevinkt zijn: gd, mysql, openssl, zip, zlib. 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.

Nightspirit wijzigde deze reactie 15-12-2011 03:30 (5%)

Pagina: 1


Apple iPhone 11 Nintendo Switch Lite LG OLED C9 Google Pixel 4 FIFA 20 Samsung Galaxy S10 Sony PlayStation 5 Elektrische auto

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True