Install hotCRP at a Ubuntu 14 Machine
Apr 12, 2018
Xing Lin
1 minute read
  1. Update packages

    sudo apt-get update
    
  2. Install php7. The default php coming with Ubuntu 14 is 5.5.9 while hotCRP prefers 5.6 and later.

    1. Install the software-properties-common package to get the add-apt-repository command.

      sudo apt-get install software-properties-common
      
    2. Add php7 ppa and do an update

      sudo add-apt-repository ppa:ondrej/php  
      sudo apt-get update
      
    3. Install php7

      sudo apt-get install php7.2 php7.2-mysql
      
  3. Install other required packages

    sudo apt-get install git apache2 mysql-server zip poppler-utils sendmail
    
  4. Get hotCRP source code

    git clone https://github.com/kohler/hotcrp.git 
    
  5. Create the database for hotCRP

    lib/createdb.sh --user root --password  
    
  6. Add the read permission for conf/options.conf

    chmod +r conf/options.conf
    
  7. Add the directory to /etc/apache2/apache2.conf

        <Directory "/w/hotcrp">    
            Options Indexes Includes FollowSymLinks  
            AllowOverride all  
            Require all granted  
        </Directory>  
        Alias /hotcrp /w/hotcrp  
    
  8. Set upload_max_filesize, post_max_size, and max_input_vars in hotcrp/.htaccess file. Use default values are good enough.

  9. /etc/php/7.2/apache2/php.in

    • Increase the session gc life time

      session.gc_maxlifetime = 86400
      
    • Enable mysqli extension, by uncommenting the following line

      ;extension=mysqli
      
  10. Restart the Apache web server

    sudo service apache2 restart
    
  11. The website is up and running. Visit IP_address/hotcrp to check it out.