RAWeb is RetroAchievements.org's site and server backend.
It is a "flat" PHP project; individual php files within the public folder handle server requests.
- Local web server
- PHP 7.4
- Composer v2 PHP dependency manager
- MySQL 8
- Node.js 12
XAMPP provides an easy way to run an Apache web server, MySQL/MariaDB, and PHP on your system.
Note: Install the XAMPP version packaged with PHP 7.4.
You might have to enable some extensions in php.ini:
extension=curl
extension=mysqli
extension=pdo_mysql
Alternatively, Docker Compose can be used to run MySQL and PHPMyAdmin. See docker-compose.yml for details.
Follow the .env file instructions below to configure your environment, then run:
$ docker-compose up -d
After installing all required software the site needs to be configured for your local needs.
The environment configuration file (.env) contains a sensible set of default values.
-
Copy
.env.exampleto.env.Linux/MacOS:
$ cp .env.example .envWindows:
$ copy .env.example .env -
Adjust the contents of
.envto match your local setup:- Enter the credentials of you local database instance (
DB_*). - URL to where
index.phpcan be found (APP_URL). - URL to where static assets, like images, are stored (
APP_STATIC_URL). Most likely the same asAPP_URLin a local environment.
- Enter the credentials of you local database instance (
-
Add image assets:
Download the media archive and add its files to the respective folders in
public. -
Install dependencies:
Use composer provided in this repository...
$ php composer.phar install...or your globally installed instance.
$ composer install -
Build the dummy database using the SQL commands in the
/databasefolder. You can use the MySQL CLI (recommended) or the phpMyAdmin GUI. -
Copy
releases.dist.phptoreleases.phpinlib/database:Linux/MacOS:
$ cp lib/database/releases.dist.php lib/database/releases.phpWindows:
$ copy lib\database\releases.dist.php lib\database\releases.php -
Open the application in your browser.
See the Contribution Guidelines.
RAWeb is open-sourced software licensed under the GPL-3.0 License.