This repository contains the source for LMMS's website, live at https://lmms.io.
- Fork the repository here
- Clone the forked repository.
git clone https://github.com/<your-username>/lmms.io.git
- Get Composer
This project uses Composer for dependency management. You'll have to fetch those dependencies using Composer. For this, you must have Composer installed on your system. For quickly installing Composer locally on *nix, run:
Install PHP 8.2 and the required components.
These commands are for Linux. It may be different from how it is installed on other OSes.
sudo add-apt-repository ppa:ondrej/php
sudo apt install curl php8.2 php8.2-xml php8.2-gd php8.2-intl php-symfony
cd lmms.io
curl -sS https://getcomposer.org/installer | php
Note: You need to add
php.exe
to the Windows PATH, usually located inc:\wamp\bin\php\phpx.y.z
For instructions for other OSes or for installing globally, visit Composer's Getting Started document.
- Fetch dependencies using Composer.
After downloading Composer locally using the instructions above, fetch the dependencies by running the command below.
php composer.phar install
You'll have to run this command every time the dependencies in composer.json
change.
A convenient setup script is provided in dev/windows/setup.ps1
. You just need to provide the path of where you've installed PHP, and it will setup PHP, install Composer, and install the project's dependencies on its own.
If you skipped automatic .ini
validation or modification, there are some changes you'll need to make to your configuration file manually:
- Locate
php.ini-development
orphp.ini
in the folder where you've installed/extracted the PHP release. This folder should also be wherephp.exe
resides- If you have the
php.ini-development
file, remove the-development
suffix from the file extension, the resulting file name should just bephp.ini
- If you would like to just edit your existing
php.ini
, leave it be.
- If you have the
- Edit the file, and uncomment these lines:
;extension_dir = "ext"
;extension=gd
;extension=intl
;extension=openssl
;extension=pdo_mysql
- Save your edits, then re-run the setup script.
Not only does this allow the automatic script to execute, but also enable the local development server to function at all.
Note: For macOS, some dependencies must be installed manually.
- Start the local server.
php -S localhost:8000 -t ./public/
You can then open http://localhost:8000/ in a browser.
- Optionally, configure the local
apache
andnginx
instances.
With Apache:
<Directory /home/user/lmms.io/public/>
# add fallback resource to Apache config
FallbackResource /index.php
</Directory>
With Nginx:
# go to our front controller if none of them exists
location / {
try_files $uri $uri/ /index.php?$args;
}