Deletions are marked like this. | Additions are marked like this. |
Line 34: | Line 34: |
root@ubuntu16:~# apt-get update root@ubuntu16:~# tasksel |
root@ubuntu-bionic:~# apt-get update root@ubuntu-bionic:~# apt install tasksel root@ubuntu-bionic:~# tasksel |
Line 38: | Line 39: |
root@ubuntu16:~# apt-get install vim cvs zip libhtml-parser-perl dctrl-tools postfix libperl4-corelibs-perl root@ubuntu16:~# vi /etc/vim/vimrc |
root@ubuntu-bionic:~# apt-get install vim cvs zip libhtml-parser-perl dctrl-tools postfix libperl4-corelibs-perl root@ubuntu-bionic:~# vi /etc/vim/vimrc |
Line 49: | Line 50: |
root@ubuntu16:~# php -v | root@ubuntu-bionic:~# php -v |
Line 54: | Line 55: |
root@ubuntu16:~# mysql -V | root@ubuntu-bionic:~# mysql -V |
Line 61: | Line 62: |
root@ubuntu16:~# vi /etc/mysql/mysql.conf.d/mysqld.cnf # add the following lines to the end of the file (in [mysqld] section) | root@ubuntu-bionic:~# vi /etc/mysql/mysql.conf.d/mysqld.cnf # add the following lines to the end of the file (in [mysqld] section) |
Line 71: | Line 72: |
root@ubuntu16:~# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot -psqladmin mysql # Set timezone info in the database | root@ubuntu-bionic:~# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot -psqladmin mysql # Set timezone info in the database |
Line 76: | Line 77: |
root@ubuntu16:~# systemctl restart mysql.service | root@ubuntu-bionic:~# systemctl restart mysql.service |
Line 87: | Line 88: |
root@ubuntu16:~# add-apt-repository ppa:ondrej/php root@ubuntu16:~# apt-get update |
root@ubuntu-bionic:~# add-apt-repository ppa:ondrej/php root@ubuntu-bionic:~# apt-get update |
Line 92: | Line 93: |
root@ubuntu16:~# dpkg --get-selections | grep -i php root@ubuntu16:~# apt-get purge libapache2-mod-php7.0 php-common php-mysql php-pear php-xml php7.0-cli php7.0-common php7.0-dev php7.0-json php7.0-mysql php7.0-opcache php7.0-readline php7.0-xml pkg-php-tools |
root@ubuntu-bionic:~# dpkg --get-selections | grep -i php root@ubuntu-bionic:~# apt-get purge libapache2-mod-php7.0 php-common php-mysql php-pear php-xml php7.0-cli php7.0-common php7.0-dev php7.0-json php7.0-mysql php7.0-opcache php7.0-readline php7.0-xml pkg-php-tools |
Line 102: | Line 103: |
root@ubuntu16:~# dpkg --get-selections | grep -i php root@ubuntu16:~# apt-get purge .... |
root@ubuntu-bionic:~# dpkg --get-selections | grep -i php root@ubuntu-bionic:~# apt-get purge .... |
Line 113: | Line 114: |
root@ubuntu16:~# cd /etc/php/5.6/apache2 root@ubuntu16:~# cp php.ini php.ini-ORIG root@ubuntu16:~# vi php.ini root@ubuntu16:~# diff php.ini-ORIG php.ini |
root@ubuntu-bionic:~# cd /etc/php/5.6/apache2 root@ubuntu-bionic:~# cp php.ini php.ini-ORIG root@ubuntu-bionic:~# vi php.ini root@ubuntu-bionic:~# diff php.ini-ORIG php.ini |
Line 165: | Line 166: |
root@ubuntu16:~# apt-get install libconfig-general-perl | root@ubuntu-bionic:~# apt-get install libconfig-general-perl |
Line 175: | Line 176: |
root@ubuntu16:~# a2enmod rewrite dav auth_digest authz_groupfile | root@ubuntu-bionic:~# a2enmod rewrite dav auth_digest authz_groupfile |
Line 198: | Line 199: |
root@ubuntu16:~# apt-get install texlive latexmk texlive-latex-extra | root@ubuntu-bionic:~# apt-get install texlive latexmk texlive-latex-extra |
Line 204: | Line 205: |
root@ubuntu16:~# apt-get install htmldoc | root@ubuntu-bionic:~# apt-get install htmldoc |
Line 209: | Line 210: |
root@ubuntu16:~# adduser --uid=1003 drawmgt root@ubuntu16:~# usermod -a -G www-data drawmgt root@ubuntu16:~# usermod -a -G drawmgt www-data |
root@ubuntu-bionic:~# adduser --uid=1003 drawmgt root@ubuntu-bionic:~# usermod -a -G www-data drawmgt root@ubuntu-bionic:~# usermod -a -G drawmgt www-data |
Line 219: | Line 220: |
root@ubuntu16:~# cd /etc/puppet root@ubuntu16:~# rm -rf [efmt]* root@ubuntu16:~# vi puppet.conf |
root@ubuntu-bionic:~# cd /etc/puppet root@ubuntu-bionic:~# rm -rf [efmt]* root@ubuntu-bionic:~# vi puppet.conf |
Ubuntu 18.04 Installation to have a V2 or DrawMGT Vagrant Box
Contents
- Ubuntu 18.04 Installation to have a V2 or DrawMGT Vagrant Box
- OS Installation and Configuration
- Install development tools and additional packages
- Configure mysqld
- Remove PHP 7.0 and install PHP 5.6
- Configure php.ini
- Perl modules
- httpd Configuration
- Install Image Magick
- Install TexLive 2015
- Install htmldoc
- Create drawmgt User and Group
- Minimal puppet client setup
- Notes
OS Installation and Configuration
The basic Ubuntu installation is taken from the ubuntu/bionic64 Vagrant box4 currently at 2021-01-18.
Adding Virtual Machine Box
Add and start the new virtual machine box to the initialized Vagrant environment:
$ su - vagrant $ mkdir vms/ubuntu18 $ cd vms/ubuntu18 $ vagrant init ubuntu/bionic64 $ vagrant up
Login into the VM and Change Passwords
As default the root password is not known and vagrant password is 'vagrant' on the VM box dowloaded from Vagrant. They should be changed:
$ vagrant ssh vagrant@ubuntu-bionic:~$ sudo su - root@ubuntu-bionic:~# passwd root@ubuntu-bionic:~# passwd vagrant
Install development tools and additional packages
It is possible to install the LAMP server (Apache, MySQL and PHP) in one step. Update all packages before do this.
root@ubuntu-bionic:~# apt-get update root@ubuntu-bionic:~# apt install tasksel root@ubuntu-bionic:~# tasksel [*] LAMP server <Ok> root@ubuntu-bionic:~# apt-get install vim cvs zip libhtml-parser-perl dctrl-tools postfix libperl4-corelibs-perl root@ubuntu-bionic:~# vi /etc/vim/vimrc " Uncomment the following to have Vim jump to the last position when " reopening a file if has("autocmd") au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif endif
Currently installed versions:
root@ubuntu-bionic:~# php -v PHP 7.0.8-0ubuntu0.16.04.3 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.8-0ubuntu0.16.04.3, Copyright (c) 1999-2016, by Zend Technologies root@ubuntu-bionic:~# mysql -V mysql Ver 14.14 Distrib 5.7.15, for Linux (x86_64) using EditLine wrapper
Configure mysqld
root@ubuntu-bionic:~# vi /etc/mysql/mysql.conf.d/mysqld.cnf # add the following lines to the end of the file (in [mysqld] section) character_set_server=utf8 innodb_buffer_pool_size = 256M innodb_lock_wait_timeout = 30 innodb_file_per_table lock_wait_timeout=30 sql-mode="" # See https://github.com/Piwigo/Piwigo/issues/376 root@ubuntu-bionic:~# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot -psqladmin mysql # Set timezone info in the database
Retart mysql:root@ubuntu-bionic:~# systemctl restart mysql.service
See this article if MySQL databases have to be stored in a custom directory.
Remove PHP 7.0 and install PHP 5.6
PHP 5.6 for Ubuntu 16 can be installed from PPA (Personal Package Archives) for PHP (5.6, 7.0):
Add PPA to the repositories
root@ubuntu-bionic:~# add-apt-repository ppa:ondrej/php root@ubuntu-bionic:~# apt-get update
Remove the currently installed PHP 7.0 packages, check the list of the packages first and complete the list below
root@ubuntu-bionic:~# dpkg --get-selections | grep -i php root@ubuntu-bionic:~# apt-get purge libapache2-mod-php7.0 php-common php-mysql php-pear php-xml php7.0-cli php7.0-common php7.0-dev php7.0-json php7.0-mysql php7.0-opcache php7.0-readline php7.0-xml pkg-php-tools
Install PHP 5.6 with PEAR and PEAR packages
apt-get --no-install-recommends install php5.6 php5.6-mysql php5.6-dev php5.6-xml php5.6-mbstring php-pear pear install Log Mail Mail_Mime Mail_mimeDecode Net_SMTP Net_Socket Services_JSON
Check again installed PHP 7.0 packages an remove them:
root@ubuntu-bionic:~# dpkg --get-selections | grep -i php root@ubuntu-bionic:~# apt-get purge ....
Install PECL packages also directly from the PPA
apt-get --no-install-recommends install php-propro php-raphf php-pecl-http
Configure php.ini
root@ubuntu-bionic:~# cd /etc/php/5.6/apache2 root@ubuntu-bionic:~# cp php.ini php.ini-ORIG root@ubuntu-bionic:~# vi php.ini root@ubuntu-bionic:~# diff php.ini-ORIG php.ini 372c372 < max_execution_time = 30 --- > max_execution_time = 120 466c466 < display_errors = Off --- > display_errors = On 572c572 < ;error_log = php_errors.log --- > error_log = /var/log/php_errors.log 660c660 < post_max_size = 8M --- > post_max_size = 128M 709c709 < ;include_path = ".:/usr/share/php" --- > include_path = ".:/usr/share/php" 820c820 < upload_max_filesize = 2M --- > upload_max_filesize = 128M 1389c1392 < ;browscap = extra/browscap.ini --- > browscap = /etc/browscap.ini 1499c1502 < session.gc_divisor = 1000 --- > session.gc_divisor = 500 1504c1507 < session.gc_maxlifetime = 1440 --- > session.gc_maxlifetime = 36000
The session timeout (timeout for automatic logout) is set also in php.ini. See Setting Session Timeout.
Install a browscap.ini file. Download php_browscap.ini from http://browscap.org/stream?q=PHP_BrowsCapINI, change the name to browscap.ini, and save it in the /etc with permission 644.
Change also /etc/php/5.6/cli/php.ini, apply only display_errors and include_path from the changes above.
Perl modules
- Add some perl modules:
root@ubuntu-bionic:~# apt-get install libconfig-general-perl
httpd Configuration
- Apache2 (httpd) configuration is very easy, only the virtual host definitions must be added and appropriate apache modules should be loaded.
Adding Apache Modules
root@ubuntu-bionic:~# a2enmod rewrite dav auth_digest authz_groupfile
Restart Apache
systemctl restart apache2.service
Install Image Magick
To allow to create thumbnail files ghostscript and ImageMagick must be installed. The versions in the Ubuntu distribution are quite old. Newer versions must be installed:
# Ghostscript and ImageMagick are part of the Ubuntu distribution (currently versions 9.18 and 6.8.9-9) apt-get install ghostscript imagemagick
Install TexLive 2015
To allow to create LaTeX submital/transmittal cover letters TexLive >= 2011 must be installed.
root@ubuntu-bionic:~# apt-get install texlive latexmk texlive-latex-extra
Install htmldoc
root@ubuntu-bionic:~# apt-get install htmldoc
Create drawmgt User and Group
root@ubuntu-bionic:~# adduser --uid=1003 drawmgt root@ubuntu-bionic:~# usermod -a -G www-data drawmgt root@ubuntu-bionic:~# usermod -a -G drawmgt www-data
Minimal puppet client setup
vagrant@xenial-rails:~$ sudo su - root@:~# apt install puppet-common root@ubuntu-bionic:~# cd /etc/puppet root@ubuntu-bionic:~# rm -rf [efmt]* root@ubuntu-bionic:~# vi puppet.conf [agent] server = puppet report = true
Notes
MySQL Passwords
Use ~/-my.cnf instead of command line passwords for all DrawMGT users using mysqlcopy.pl or backupClient.pl to avoid problems caused by the warning of current MySQL version: mysql: [Warning] Using a password on the command line interface can be insecure.
Use mysqlcopy.pl without -p option and do not define password in the configuration file for backupClient.pl.[mysqldump] user=root password=sqladmin [mysql] user=root password=sqladmin