These install steps are based on Debian or Ubuntu package names, and are suitable for experienced GNU/Linux system administrators who want to know exactly what is happening on their server. For a more detailed explanation, please read the chapter Manual installation in this book.
Production Newscoop users may find it more convenient to use the automated installation methods described in the chapters Installation on Debian/Ubuntu and Installation on Red Hat Enterprise.
1. Install dependencies and set a password for the MySQL root user:
sudo apt-get install apache2 mysql-server php5-cli php5-mysql php5-gd libapache2-mod-php5 imagemagick2. Connect to MySQL using the root account and password:
mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 34 Server version: 5.1.41-3ubuntu12.8 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.3. Create a user account and password for Newscoop to connect to the database. Substitute your own password for 'newscoop_user_password' in the following example:
mysql> CREATE USER 'newscoop_user'@'localhost' -> IDENTIFIED BY 'newscoop_user_password'; Query OK, 0 rows affected (0.04 sec)
4. Grant access privileges to the database user:
mysql> GRANT ALL ON newscoop.* -> TO 'newscoop_user'@'localhost'; Query OK, 0 rows affected (0.00 sec)
5. Exit from MySQL and return to the shell prompt:
mysql> quit; Bye6. Open the PHP configuration file in the nano editor:
sudo nano /etc/php5/apache2/php.ini
Use the search tool (Ctrl+W) to find and adjust the maximum size of POST data to 100MB:
post_max_size = 100M
Adjust the maximum allowed size for uploaded files to 100MB:
upload_max_filesize = 100M
Disable automatic session garbage collection:
session.gc_probability = 0
Write out the file with Ctrl+O, then close it with Ctrl+X.
7. Create an Apache configuration file containing a VirtualHost definition, using the nano editor:
sudo nano /etc/apache2/sites-available/newscoop
For a publication with the domain name www.example.com, you could use a VirtualHost definition like the following:
<VirtualHost *:80> DocumentRoot /var/www/newscoop ServerName example.com ServerAlias www.example.com DirectoryIndex index.php index.html <Directory /var/www/newscoop> Options -Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
8. Create the DocumentRoot directory that you set in the VirtualHost definition:
sudo mkdir -p /var/www/newscoop9. Disable the default Apache configuration, if you aren't using it:
sudo a2dissite default Site default disabled. Run '/etc/init.d/apache2 reload' to activate new configuration!
10. Enable the Newscoop configuration that you just created:
sudo a2ensite newscoop Enabling site newscoop. Run '/etc/init.d/apache2 reload' to activate new configuration!
11. Enable Apache's rewrite and php5 modules:
sudo a2enmod rewrite php5 Enabling module rewrite. Module php5 already enabled Run '/etc/init.d/apache2 restart' to activate new configuration!
12. Restart Apache so that the new configuration and modules can be loaded:
sudo /etc/init.d/apache2 restart * Restarting web server apache2 [ OK ]
13. Extract the Newscoop tarball in your working directory, which will create a new directory called newscoop. If installing a beta version, the newscoop directory might have a suffix such as -BETA4.
tar -xvzf newscoop-4.0.0.tar.gz14. Copy the contents of the newscoop directory that you just extracted into the DocumentRoot directory of the Apache VirtualHost:
sudo cp -r newscoop/* /var/www/newscoop/
15. Change the owner and group of the DocumentRoot directory to the username of the web server:
sudo chown -R www-data.www-data /var/www/newscoop/
16. Open a web browser with the URL of the Apache ServerName that you set up earlier. If you see the Newscoop installer page, you are ready to proceed through the Installation steps chapter of this book.