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 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 that XAMPP comes packaged with PHP 7.2. You will need PHP 7.4+ (check the wiki if you are having problems).
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
You might have to enable some extensions in php.ini:
extension=curl
extension=mysqli
extension=pdo_mysql
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. -
Open the application in your browser.
See the Contribution Guidelines.
RAWeb is open-sourced software licensed under the GPL-3.0 License.