DevDungeon - a virtual hackerspace
This is a remake of NanoDano's devdungeon.com blog, made with Symfony.
- Symfony base requirements
- You may have to install a couple of PHP extensions, such as
The application will complain if any other extension is missing. Our
DATABASE_URL example in the instructions below assumes MySQL/MariaDB as the database, so we must make sure the
pdo_mysql extension is enabled.
Clone this repository and
cd into it, then install its dependencies through Composer.
$ composer install
Then install Yarn dependencies.
$ yarn install
And build the assets.
$ yarn encore dev
.env.local file and configure it as needed.
Create the database you specified in the last step and execute the doctrine migrations.
$ php bin/console doctrine:migrations:migrate
Load the fixtures. This will create the administrator account,
NanoDano, with the password
$ php bin/console doctrine:fixtures:load
- If you wish, PosterPy can be used to automatically insert many pages filled with blog posts.
Now you may configure your web server and try it on your browser.
- Use the
UTCtimezone in your PHP configuration. Localized time will be generated from UTC time as configured by the user or automatically detected by client-side scripting.
var directory in any Symfony web app comes with 777 permission to ensure PHP will be able to write to it. You can improve the security of this directory by changing its GID to the same user that the web server is running as; or, if applicable, the PHP-FPM process, and then remove "others" write permission. For example, on a Debian based system it will look like this:
UID | GID doug:www-data
After that, you may remove "others" write permission. Just be sure that the group can write to
chmod -R g+w var chmod -R o-w var
Download the PHAR file to the root of this project and execute it:
php phpDocumentor.phar -d src/ -t docs/
docs/ directory can now be served through your web server.
Copyright 2019 Douglas Silva (0x9fd287d56ec107ac)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.