====== Coppermine Photograph Gallery ====== {{:gallery.jpg?500|}} ===== Introduction ===== \\ This project will be using an off the shelf photo gallery called Coppermine that can be found at [[http://coppermine-gallery.net/]] \\ \\ The software is fully featured and allows for mass upload of images, multiple galleries as well as multiple users. \\ \\ You will need the following software to be installed: \\ * Suitable OS (I am using Raspbian Jesse Lite)...[[https://www.raspberrypi.org/downloads/raspbian/]] * MySQL................................................................Use APT-GET * PHP....................................................................Use APT-GET * Coppermine Gallery..............................................[[http://coppermine-gallery.net/]] * ImageMagick........................................................Use APT-GET All of this software is freely available and completely free, so this is a very cost effective project. \\ \\ There are a ton of user guides on putting Linux on to the Raspberry Pi, so I will not cover that here, once you have got a suitable version of Linux on your device, we need to follow these steps: \\ \\ * Change Default Password (super important) * Update the Linux to the latest version * Change Host Name * Install Apache * Install MySQL * Install PHP * Install Imagemagick * Create a Database * Download Coppermine * Change some folder permissions * Install Coppermine * Setup Apache to see the site * Configure Coppermine * Edit some PHP settings (for download sizes) * Setup a Firewall to restrict access * Test \\ ---- ===== Change Default Password ===== By default your Raspberry Pi comes with an account 'pi' with the password 'raspberry'. For security reasons it's probably a good idea to change the password, but you may also wish to change the username as well. There are a couple of different ways to change the default username but I found the following method the easiest. \\ In order to change the username 'pi' we will have to create a new user since it's not possible to rename an account while your logged into it. To create a new user: \\ passwd \\ Now enter the your current password, followed by the new password (you have to do this twice) \\ ---- ===== Update the Linux to the latest version ===== To update the Raspberry Pi to the latest versions, use the following commands \\ sudo apt-get update sudo apt-get upgrade \\ ---- ===== Change the Host Name ===== \\ To change the Host Name we can use the following tool: \\ sudo raspi-config \\ From this tool select: \\ Advanced Options Host Name (enter new host name here) \\ Raspberry Pi will now reboot. \\ ----- ===== Install Apache ===== sudo apt-get install apache2 \\ ---- ===== Install MySQL ===== sudo apt-get install mysql-server during the install you will have to enter a new password for the MySQL root user (don't forget it) \\ ---- ===== Install PHP ===== sudo apt-get install php5 sudo apt-get install php5-mysql \\ ---- ===== Install Imagemagick ===== sudo apt-get install imagemagick \\ ---- ===== Create Database ===== \\ Before we can install Coppermine, which requires a database, we need to create our database (we have installed MySQL which is the database software, but there are no databases by default) \\ \\ From the command line, type: mysql -u root -p (if the mysql username is root and password is piper - enter mysql -u root -ppiper) Note there is no space between -p and the password -ppiper SUPER IMPORTANT - Don't forget the ; at the end of the database commands CREATE DATABASE mygallery; this creates a database called mygallery SHOW DATABASES; this will list databases, you should see mygallery in the list exit \\ After creating the database, you might want to check this out [[run_security_after_install|Run Security After Install]] \\ ---- ===== Download Coppermine ===== \\ To download coppermine (change the last part cpg1.5.42.zip to the latest version) wget http://downloads.sourceforge.net/project/coppermine/Coppermine/1.5.x/cpg1.5.42.zip unzip the file unzip cpg1.5.42.zip move the foder to apache sudo mv cpg15x/ /var/www/html/coppermine \\ ---- ===== Change some folder permissions ===== \\ chown www-data:www-data -R /var/www/html/coppermine This changes the default permissions to the www-data (apache) user. So apache has rights to modify the files \\ \\ We also need to change the write permissions for the following folders: * include * albums * albums/userpics * albums/userpics/edit To do this enter: \\ chmod -R 777 /var/www/html/coppermine/include chmod -R 777 /var/www/html/coppermine/albums \\ ---- ===== Setup Apache ===== \\ If you use a browser to look at your computer (http://youripaddress) you will get the default Apache page, which is nice because it means apache is running, but not so good because you want your site. \\ What we need to do is edit the apache config to point you your site. \\ cd /etc/apache2 sudo nano 000-default-conf change DocumentRoot to /var/www/html/coppermine/ Restart Apache sudo /etc/init.d/apache2 restart \\ ---- ===== Configure Coppermine ===== \\ Connect to the site http://youripaddress \\ You will get the message: Coppermine Photo Gallery seems not to be installed correctly, or you are running coppermine for the first time. You'll be redirected to the installer. If your browser doesn't support redirect, click here. \\ when you click 'here' the installer will start. \\ \\ {{:cpg01.png?600|}} \\ \\ Fill out your details in the window above using your passwords and usernames. Remember Apache username is probably root. \\ \\ ---- ===== Edit some PHP settings ===== Open and edit file php.ini \\ sudo nano /etc/php5/apache2/php.ini Find and edit these two settings define the maximum file upload size: \\ upload_max_filesize = 2000M post_max_size = 3000M \\ This will increase upload limits on a single file to 256 MB, from the default of 2 MB. “post_max_size” is set 1 MB larger than “upload_max_filesize” to take into account for any additional meta-data about the file that is included in the request (e.g., Header data). \\ \\ If multiple files are uploads in the same POST request, then post_max_size will need to be set greater than the size of all the files combined (i.e., post_max_size > upload_max_filesize * number-of-files + 1MB * number-of-files). \\ Now Reboot \\ ---- ===== Firewall Setup ===== \\ Please see the following page: \\ [[ufw_-_uncomplicated_firewall|UFW - Uncomplicated Firewall]] \\ \\