Difference between revisions of "Installation:website"

From PrometheusIPN Wiki
Jump to: navigation, search
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
====== Video tutorial ======
+
<div style="background-color:#F77B7B;padding:10px;margin-bottom:4px;color:#fff;font-size:19px;width:100%;display:block;">
{{youtube>J_hrKtHqF9c?large}}
+
<p>
 +
  IF YOU ARE USING NGINX: Read the section about Nginx below!
 +
</p>
 +
</div>
  
 +
=== VIDEO TUTORIAL ===
 +
GoldTrigger has created an installation walkthrough for Prometheus. It explains step-by-step how to install and is recommended for novice web hosters:
  
===== WEBSITE INSTALLATION =====
+
<youtube>J_hrKtHqF9c</youtube>
 +
 
 +
'''''Please note''': the version of Prometheus being used for this tutorial is out of date, however, installation is still generally completed in a similar way.''
 +
=== WEBSITE INSTALLATION ===
 
The web installation is pretty straight forward.
 
The web installation is pretty straight forward.
  
  * Extract the contents of the "Web files" folder to your web server
+
* Extract the contents of the "Web files" folder to your web server
  * Edit the file config.php to fit your MySQL database details
+
* Create a MySQL database and user using your website's control panel. Make sure to give the user read/write/execute access to the database.
  * Create the database you specified above
+
* '''Rename the config.example.php file to config.php. In older versions of Prometheus the file is already named config.php.'''
  * Visit yourwebsite.com/install.php Now you will see something similar to this:
+
* Edit the file config.php that you have uploaded and fill in the MySQL database and user information from step 2. (for the host, typically you can leave it as 'localhost' and port '3306')
 +
* After you have modified your config.php file, navigate to yourwebsite.com/install.php. Here, you will see something similar to this:
 +
<br>
 +
[[File:Web1.png|900px]]
 +
<br>
 +
 
 +
The three last fields will be automatically filled in and the other ones are pretty self explanatory.
  
{{:installation:1.png?900}}
+
===== Extra Steps for Linux Installations =====
  
The three last fields will be automatically filled in and the other ones are pretty self explanatory.
+
The next step is for Linux only. Make sure to set the right permissions for your files! This can be done by running these commands in a Linux terminal:
  
The next step is for Linux only Make sure to set the right permissions for your files!
+
cd path/to/installdir
This can be done by running these commands in a linux terminal:
+
sudo chown www-data:www-data install.php img/pkgs updates themes
 +
sudo chmod 775 install.php cert/* ipn_errors.log img/pkgs updates
 +
sudo chmod 0777 cache/* themes
  
  * cd path/to/installdir
+
=== BLANK PAGE / ERROR 500 ===
  * sudo chown www-data:www-data install.php img/pkgs updates
+
If you are encountering an issue with the page being blank or your web browser stating an 'Internal Error 500', please follow the below guide in order to fix it:
  * sudo mkdir cache/auto
 
  * sudo chmod 775 install.php cert/* ipn_errors.log img/pkgs cache/* updates
 
  * sudo chmod 0777 cache/auto
 
  
 +
==== Windows ====
 
The next step is for Windows only!
 
The next step is for Windows only!
  * Create cache/auto
+
* Right click on the cache folder -> Properties -> Security and make sure guests have access to write to the directory
  * Right click on it -> Properties -> Security and make sure guests have access to write to the directory
+
* If you are having error 500 and have already allowed IIS_USRS access, please make sure to also grant IUSR access.
 +
 
 +
==== Linux ====
 +
* Right click on the cache folder in filezilla/WinSCP and give it 0777 chmod permissions ''recursively''
 +
* Alternatively, you can also just run the SSH command ''sudo chmod 0777 cache/* ''whilst in the Prometheus directory.
 +
 
 +
'''Both'''
 +
 
 +
If the blank page issue persists, please find a PHP error log and submit a ticket over at [[gmodstore.com]] with your host's PHP error log (found on your website's control panel typically). It's likely that you are missing a dependency.
 +
 
 +
When you have completed the installation you can now visit yourwebsite.com and click 'Sign In' from the menu. The first user that signs in is the one that will get root admin permission, so please make sure to sign in quickly to make sure you don't get locked out.
 +
 
 +
=== IF YOU USE NGINX (VERY IMPORTANT) ===
 +
 
 +
Make sure to make your cache folder inaccessible to the public through nginx.conf or your website's config. You can do this by adding a new location block:
 +
 +
<pre style="color: red">
 +
location ~ /path/to/prometheus/cache {
 +
        deny  all;
 +
}
 +
</pre>
 +
 
 +
Remmeber to replace the path with the correct path relative to your Nginx root setting. The easiest way to think about this is if your Prometheus is hosted at /donate on your website, this path should be '''/donate/cache'''
 +
 
 +
If you don't do this you will end up with security issues. This does not apply to you if you use IIS or Apache.
  
When the installation is done the first user to sign in gets admin priveleges
+
=== OPTIONAL INSTALLATION STEPS ===
 +
You may complete the following additional tasks to extend your Prometheus installation's capabilities:
 +
* You can set your /img folder to have read/write permissions (CHMOD 0777) to allow you to upload files directly when configuring packages and servers.
 +
* If you include a Steam API key in your config.php file, it will be used as a fallback in case Steam authorization fails. This is recommended.

Latest revision as of 19:18, 5 January 2020

IF YOU ARE USING NGINX: Read the section about Nginx below!

VIDEO TUTORIAL

GoldTrigger has created an installation walkthrough for Prometheus. It explains step-by-step how to install and is recommended for novice web hosters:

Please note: the version of Prometheus being used for this tutorial is out of date, however, installation is still generally completed in a similar way.

WEBSITE INSTALLATION

The web installation is pretty straight forward.

  • Extract the contents of the "Web files" folder to your web server
  • Create a MySQL database and user using your website's control panel. Make sure to give the user read/write/execute access to the database.
  • Rename the config.example.php file to config.php. In older versions of Prometheus the file is already named config.php.
  • Edit the file config.php that you have uploaded and fill in the MySQL database and user information from step 2. (for the host, typically you can leave it as 'localhost' and port '3306')
  • After you have modified your config.php file, navigate to yourwebsite.com/install.php. Here, you will see something similar to this:


Web1.png

The three last fields will be automatically filled in and the other ones are pretty self explanatory.

Extra Steps for Linux Installations

The next step is for Linux only. Make sure to set the right permissions for your files! This can be done by running these commands in a Linux terminal:

cd path/to/installdir
sudo chown www-data:www-data install.php img/pkgs updates themes
sudo chmod 775 install.php cert/* ipn_errors.log img/pkgs updates
sudo chmod 0777 cache/* themes

BLANK PAGE / ERROR 500

If you are encountering an issue with the page being blank or your web browser stating an 'Internal Error 500', please follow the below guide in order to fix it:

Windows

The next step is for Windows only!

  • Right click on the cache folder -> Properties -> Security and make sure guests have access to write to the directory
  • If you are having error 500 and have already allowed IIS_USRS access, please make sure to also grant IUSR access.

Linux

  • Right click on the cache folder in filezilla/WinSCP and give it 0777 chmod permissions recursively
  • Alternatively, you can also just run the SSH command sudo chmod 0777 cache/* whilst in the Prometheus directory.

Both

If the blank page issue persists, please find a PHP error log and submit a ticket over at gmodstore.com with your host's PHP error log (found on your website's control panel typically). It's likely that you are missing a dependency.

When you have completed the installation you can now visit yourwebsite.com and click 'Sign In' from the menu. The first user that signs in is the one that will get root admin permission, so please make sure to sign in quickly to make sure you don't get locked out.

IF YOU USE NGINX (VERY IMPORTANT)

Make sure to make your cache folder inaccessible to the public through nginx.conf or your website's config. You can do this by adding a new location block:

location ~ /path/to/prometheus/cache {
        deny  all;
}

Remmeber to replace the path with the correct path relative to your Nginx root setting. The easiest way to think about this is if your Prometheus is hosted at /donate on your website, this path should be /donate/cache

If you don't do this you will end up with security issues. This does not apply to you if you use IIS or Apache.

OPTIONAL INSTALLATION STEPS

You may complete the following additional tasks to extend your Prometheus installation's capabilities:

  • You can set your /img folder to have read/write permissions (CHMOD 0777) to allow you to upload files directly when configuring packages and servers.
  • If you include a Steam API key in your config.php file, it will be used as a fallback in case Steam authorization fails. This is recommended.