Skip to content

Installation manual

Łukasz Poźniak edited this page Jan 14, 2019 · 59 revisions

Setup instructions

Updated 2019.01.14

There is no installer currently, so there is some setup work to get LMeve to run

MyEVEcorner wrote an excellent setup guide here: http://myevecorner.blogspot.com/2015/10/comprehensive-lmeve-install.html

1. Initial setup

  • For Debian/Ubuntu 18.04 LTS:

    sudo apt-get install php mysql-server php-mysql php-pear apache2 libapache2-mod-php php-cli php-dev libyaml-dev unzip php-mbstring

  • Install YAML PECL library for PHP 7.1/7.2

    sudo pecl install yaml

    or for PHP version 5.6 or lower:

    sudo pecl install yaml-1.3.1

    remember to activate yaml.so in active configuration:

    vi /etc/php/7.2/mods-available/yaml.ini

    extension=yaml.so

    save file

    phpenmod -v 7.2 yaml

    restart apache

    service apache2 restart

  • WARNING: MySQL 5.7 or later has different GROUP BY behaviour - I have added a workaround, but in case you get database errors similar to this:

Expression #4 of SELECT list is not in GROUP BY clause and contains 
nonaggregated column 'Lmeve.apc.corporationName' which is not functionally 
dependent on columns in GROUP BY clause; 
this is incompatible with sql_mode=only_full_group_by

In case you get errors like the one above, please go to site below and follow the configuration:

https://www.sitepoint.com/quick-tip-how-to-permanently-change-sql-mode-in-mysql/

  • Downloading LMeve and CCP dependencies

    Assuming LMeve is going to be installed under '/opt/lmeve'

cd /opt
sudo wget https://github.com/roxlukas/lmeve/archive/master.zip
sudo unzip master.zip
sudo mv lmeve-master/ lmeve/
  • Download current Icons from EVE Online Toolkit page: https://developers.eveonline.com/resource/resources

  • unpack all PNG files from Icons/items to ./wwwroot/ccp_icons/

    • symlinks will work, too: ln -s /opt/Icons/items/ /opt/lmeve/wwwroot/ccp_icons
  • Optionally: unpack all PNG files from Types to ./wwwroot/ccp_img/ (OPTIONAL) Note: you can now skip downloading types.zip. If you do, LMeve will use icons from CCP CDN Image Server

    • symlinks should work, too: ln -s /opt/Types/ /opt/lmeve/wwwroot/ccp_img (OPTIONAL)
  • Configure Apache2

index.php and the website itself is in lmeve/wwwroot/ directory. If you can set up your webserver root to this directory, please do so.

Example:

Alias /lmeve /opt/lmeve/wwwroot
<Directory /opt/lmeve/wwwroot>
    Order allow,deny
    Allow from all
    #Comment out the line below in Apache 2.2; for Apache 2.4 (default in Ubuntu 18.04) leave it as it is
    Require all granted 
    Options FollowSymLinks
</Directory>
  • Go to lmeve/config/ directory, copy config-dist.php to config.php
  • Set up database credentials and db schemas

WARNING: Please change 'lmpassword' to your own!

//database settings
$LM_dbhost='localhost';
$LM_dbname='lmeve';
$LM_dbuser='lmeve';
$LM_dbpass='lmpassword';
//LMeve will use static data from this database schema. Can be the same as LMeve $LM_dbname,
//but for the sake of easy SDE updates a different db schema is recommended
$LM_EVEDB='lmeve_sde';
  • Set up a random new $LM_SALT value, save config.php
  • For multi-site deployment, make sure correct cookie path is set in $LM_COOKIEPATH, for single LMeve deployment you can leave the default

2. Database setup

LMeve Database and EVE Static Data are by default in two different databases - this way it's easier to update the EVE Static Data.

WARNING: Please change 'lmpassword' with the same password you set above.

CREATE DATABASE lmeve;
CREATE DATABASE eve_20181214;
CREATE USER 'lmeve'@'localhost' IDENTIFIED BY 'lmpassword';
GRANT ALL PRIVILEGES ON `lmeve`.* TO 'lmeve'@'localhost';
GRANT ALL PRIVILEGES ON `eve_%`.* TO 'lmeve'@'localhost';
  • Import lmeve/data/schema.sql file to MySQL database before using LMeve. Remember to set the db config options first in ./config/config.php
  • Import latest static data dump (can be put in different db schema for clarity, for example you can import lmeve db to lmeve schema and static data in sde_crius. LMeve will always use SDE schema set in $LM_EVEDB variable in config.php file) You can download latest static data from Steve Ronuken's website: https://www.fuzzwork.co.uk/dump/
    • unpack downloaded tar.bz2 file: tar -xjf mysql-latest.tar.bz2
    • import the .sql file to your SDE schema (for example sde_crius):
mysql -u username -p
CREATE DATABASE sde_crius;
USE sde_crius;
\. mysql-crius.sql
  • Afterwards you will be able to login using username admin and password admin
  • On first login LMeve will adjust all database tables if it needs to - it can take some time
  • Remember to change admin password in Settings as soon as possible.
  • Once you were able to log in to LMeve, please delete the 'INSTALL' file in LMeve root directory
  • Now follow the Integrating LMeve with EVE SSO procedure (it is now mandatory; used to be optional before introduction of ESI)
  • Now add corp API key in Settings -> ESI API Keys

3. API Poller setup

  • Set up API poller in cron to run every 15 minutes

    */15 * * * * [path-to-php]/php [path-to-lmeve]/bin/poller.php