With a view to providing additional services potentially useful for the itwiki community and the Wikimedia Italia members, @Maupao70 proposed to deploy a (Q98731919) Framadate instance.
This Task is about deploying a Framadate instance in the Wikimedia Italia server called wmi-fabula. We choosed it because now it supports recent PHP versions (T270776).
Anyway we can experience the adoption and usefulness of the tool to decide whether to keep it or not. In any case it should have a simple long-term maintenance.
DNS
First of all it would be nice to deploy a DNS record for this instance pointing to the current public IPv4 of wmi-fabula that is 54.38.36.173 (Wikimedia Italia server details):
framadate.wikimedia.it: 54.38.36.173
This was formally requested by @Maupao70 to the member and volunteer who takes care of DNS management: @M7 (thank you! <3).
Deployment
Deployed following the official reference:
https://framagit.org/framasoft/framadate/framadate/-/wikis/Install/Install
$ mkdir /var/www/framadate $ cd /var/www/framadate $ wget https://framagit.org/framasoft/framadate/framadate/-/archive/1.1.12/framadate-1.1.12.tar.gz $ sha1sum framadate-1.1.12.tar.gz a1e98562bb8aee6fae382287f358b4eee425ee95 framadate-1.1.12.tar.gz $ sha256sum framadate-1.1.12.tar.gz 6f444c6b5d7253135aa787e8072252a9732b1913b880e46ab5efefeae98e9277 framadate-1.1.12.tar.gz $ tar -xzf framadate-1.1.12.tar.gz $ rm framadate-1.1.12.tar.gz $ chown -R apache: framadate-1.1.12 $ ln -s framadate-1.1.12 production $ cd production # this was actually run locally (Centos 7 does not have a recent Composer) $ composer install Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Package operations: 69 installs, 0 updates, 0 removals - Installing symfony/polyfill-php72 (v1.20.0): Downloading (100%) - Installing symfony/polyfill-intl-normalizer (v1.20.0): Downloading (100%) - Installing symfony/polyfill-intl-idn (v1.20.0): Downloading (100%) - Installing doctrine/lexer (1.2.1): Downloading (100%) - Installing egulias/email-validator (2.1.24): Downloading (100%) - Installing erusev/parsedown (1.7.4): Downloading (100%) - Installing ircmaxell/password-compat (dev-master dfdbc46): Cloning dfdbc467fb from cache - Installing o80/i18n (dev-develop ef98bd7): Cloning ef98bd7bd7 from cache - Installing phpmailer/phpmailer (v6.2.0): Downloading (100%) - Installing roave/security-advisories (dev-master d596191) - Installing smarty/smarty (v3.1.36): Downloading (100%) - Installing psr/container (1.0.0): Downloading (100%) - Installing symfony/service-contracts (v2.2.0): Downloading (100%) - Installing symfony/stopwatch (v5.2.0): Downloading (100%) - Installing symfony/polyfill-php80 (v1.20.0): Downloading (100%) - Installing symfony/process (v5.2.0): Downloading (100%) - Installing symfony/polyfill-php70 (v1.20.0) - Installing symfony/polyfill-php73 (v1.20.0): Downloading (100%) - Installing symfony/deprecation-contracts (v2.2.0): Downloading (100%) - Installing symfony/options-resolver (v5.2.0): Downloading (100%) - Installing symfony/finder (v5.2.0): Downloading (100%) - Installing symfony/polyfill-ctype (v1.20.0): Downloading (100%) - Installing symfony/filesystem (v5.2.0): Downloading (100%) - Installing psr/event-dispatcher (1.0.0): Downloading (100%) - Installing symfony/event-dispatcher-contracts (v2.2.0): Downloading (100%) - Installing symfony/event-dispatcher (v5.2.0): Downloading (100%) - Installing symfony/polyfill-mbstring (v1.20.0): Downloading (100%) - Installing symfony/polyfill-intl-grapheme (v1.20.0): Downloading (100%) - Installing symfony/string (v5.2.0): Downloading (100%) - Installing symfony/console (v5.2.0): Downloading (100%) - Installing php-cs-fixer/diff (v1.3.1): Downloading (100%) - Installing doctrine/annotations (1.11.1): Downloading (100%) - Installing psr/log (1.1.3): Downloading (100%) - Installing composer/xdebug-handler (1.4.5): Downloading (100%) - Installing composer/semver (3.2.4): Downloading (100%) - Installing friendsofphp/php-cs-fixer (v2.17.1): Downloading (100%) - Installing webmozart/assert (1.9.1): Downloading (100%) - Installing phpdocumentor/reflection-common (2.2.0): Downloading (100%) - Installing phpdocumentor/type-resolver (1.4.0): Downloading (100%) - Installing phpdocumentor/reflection-docblock (5.2.2): Downloading (100%) - Installing sebastian/version (3.0.2): Downloading (100%) - Installing sebastian/type (2.3.1): Downloading (100%) - Installing sebastian/resource-operations (3.0.3): Downloading (100%) - Installing sebastian/recursion-context (4.0.4): Downloading (100%) - Installing sebastian/object-reflector (2.0.4): Downloading (100%) - Installing sebastian/object-enumerator (4.0.4): Downloading (100%) - Installing sebastian/global-state (5.0.2): Downloading (100%) - Installing sebastian/exporter (4.0.3): Downloading (100%) - Installing sebastian/environment (5.1.3): Downloading (100%) - Installing sebastian/diff (4.0.4): Downloading (100%) - Installing sebastian/comparator (4.0.6): Downloading (100%) - Installing sebastian/code-unit (1.0.8): Downloading (100%) - Installing sebastian/cli-parser (1.0.1): Downloading (100%) - Installing phpunit/php-timer (5.0.3): Downloading (100%) - Installing phpunit/php-text-template (2.0.4): Downloading (100%) - Installing phpunit/php-invoker (3.1.1): Downloading (100%) - Installing phpunit/php-file-iterator (3.0.5): Downloading (100%) - Installing theseer/tokenizer (1.2.0): Downloading (100%) - Installing nikic/php-parser (v4.10.3): Downloading (100%) - Installing sebastian/lines-of-code (1.0.3): Downloading (100%) - Installing sebastian/complexity (2.0.2): Downloading (100%) - Installing sebastian/code-unit-reverse-lookup (2.0.3): Downloading (100%) - Installing phpunit/php-code-coverage (9.2.5): Downloading (100%) - Installing doctrine/instantiator (1.4.0): Downloading (100%) - Installing phpspec/prophecy (1.12.1): Downloading (100%) - Installing phar-io/version (3.0.3): Downloading (100%) - Installing phar-io/manifest (2.0.1): Downloading (100%) - Installing myclabs/deep-copy (1.10.2): Downloading (100%) - Installing phpunit/phpunit (9.5.0): Downloading (100%) symfony/polyfill-intl-normalizer suggests installing ext-intl (For best performance) symfony/polyfill-intl-idn suggests installing ext-intl (For best performance) egulias/email-validator suggests installing ext-intl (PHP Internationalization Libraries are required to use the SpoofChecking validation) phpmailer/phpmailer suggests installing hayageek/oauth2-yahoo (Needed for Yahoo XOAUTH2 authentication) phpmailer/phpmailer suggests installing league/oauth2-google (Needed for Google XOAUTH2 authentication) phpmailer/phpmailer suggests installing stevenmaguire/oauth2-microsoft (Needed for Microsoft XOAUTH2 authentication) symfony/service-contracts suggests installing symfony/service-implementation symfony/event-dispatcher suggests installing symfony/dependency-injection symfony/event-dispatcher suggests installing symfony/http-kernel symfony/polyfill-intl-grapheme suggests installing ext-intl (For best performance) symfony/console suggests installing symfony/lock friendsofphp/php-cs-fixer suggests installing php-cs-fixer/phpunit-constraint-isidenticalstring (For IsIdenticalString constraint.) friendsofphp/php-cs-fixer suggests installing php-cs-fixer/phpunit-constraint-xmlmatchesxsd (For XmlMatchesXsd constraint.) sebastian/global-state suggests installing ext-uopz (*) phpunit/php-code-coverage suggests installing ext-pcov (*) phpunit/php-code-coverage suggests installing ext-xdebug (*) phpunit/phpunit suggests installing ext-soap (*) phpunit/phpunit suggests installing ext-xdebug (*) Generating autoload files 52 packages you are using are looking for funding. Use the `composer fund` command to find out more! $ sudo -u apache touch admin/stdout.log $ chmod 600 admin/stdout.log # publish the configurations $ ln -s /etc/wmit-infrastructure/servers/fabula/projects/framadate/apache2/it-wikimedia-framadate.conf /etc/httpd/sites-available $ ln -s /etc/wmit-infrastructure/servers/fabula/projects/framadate/apache2/it-wikimedia-framadate-ssl.conf /etc/httpd/sites-available # enable the plain text website $ ln -s ../sites-available/it-wikimedia-framadate.conf /etc/httpd/sites-enabled $ apachectl configtest Syntax OK $ apachectl graceful $ certbot certonly --webroot --webroot-path=/var/www/framadate/production -d framadate.wikimedia.it Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator webroot, Installer None Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org Obtaining a new certificate Performing the following challenges: http-01 challenge for framadate.wikimedia.it Using the webroot path /var/www/framadate/production for all unmatched domains. Waiting for verification... Cleaning up challenges IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/framadate.wikimedia.it/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/framadate.wikimedia.it/privkey.pem Your cert will expire on 2021-04-20. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le # enable the SSL website $ ln -s ../sites-available/it-wikimedia-framadate-ssl.conf /etc/httpd/sites-enabled $ apachectl configtest Syntax OK $ apachectl graceful
The Apache configuration is published in rWIIN wikimedia-it-wmit-infrastructure and connected to this Task.
Written some notes here:
https://wiki.wikimedia.it/wiki/Framadate
https://wiki.wikimedia.it/wiki/Framadate/Technical_documentation
