# 1. Installation und Konfiguration von TYPO3

## 1.1. Dokumentationen

- https://typo3.org/download/
- Anforderungen / Anleitung: https://github.com/TYPO3/TYPO3.CMS/blob/master/INSTALL.md
- Anleitung: https://docs.typo3.org/typo3cms/InstallationGuide/

## 1.2. Einzelne Steps

Am Beispiel von Ubuntu 16.04 LTS Xenial Xerus.

### 1.2.1. Systemumgebung / Anforderungen erfüllt

1. Webserver (Apache, mit notwendigen Modulen)
2. PHP (fpm)
3. Datenbank (MySQL / Maria DB)
4. Composer (PHP Package Manager)

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    apt-get update

    # External dependencies
    apt-get install -y imagemagick

    # Webserver
    apt-get install -y apache2

    # PHP
    apt-get install -y php7.0-fpm php7.0
    # PHP extensions
    apt-get install -y php7.0-mysql php7.0-curl php7.0-xml
    apt-get install -y php7.0-mbstring php7.0-zip php7.0-mysqli
    apt-get install -y php7.0-gd php7.0-json php7.0-mbstring

    # Enable apache modules
    a2enmod proxy proxy_fcgi
    systemctl restart apache2.service

    # Do not install composer via apt, it's to old and not possible to update.
    # apt-get install -y composer

    # For easier work
    apt-get install -y colordiff tree zsh
    cp /vagrant/examples/.zshrc /home/ubuntu/.zshrc

    # Install MySQL
    debconf-set-selections <<< 'mysql-server mysql-server/root_password password root'
    debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password root'
    apt-get install -y mysql-server mysql-client

### 1.2.2. Installation

1. Installation via Composer (Plain, Distribution, ...)
2. Initiales Setup (CLI)

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #!/bin/bash

    alias la='ls -lah'

    # Configure apache vhost
    colordiff /etc/apache2/sites-available/000-default.conf /vagrant/examples/000-default.conf
    sudo cp /vagrant/examples/000-default.conf /etc/apache2/sites-available/000-default.conf
    sudo /etc/init.d/apache2 restart

    # Configure fpm pool
    colordiff /etc/php/7.0/fpm/pool.d/www.conf /vagrant/examples/www.conf
    sudo cp /vagrant/examples/www.conf /etc/php/7.0/fpm/pool.d/www.conf
    sudo /etc/init.d/php7.0-fpm restart

    # Create database with utf8
    mysql -u root -proot -e 'CREATE DATABASE typo3 CHARACTER SET utf8 COLLATE utf8_general_ci;'

    # Setup composer
    mkdir /home/ubuntu/bin
    curl -sS https://getcomposer.org/installer | php -- --install-dir=/home/ubuntu/bin --filename=composer

    # Setup web folder
    sudo chown -R ubuntu:ubuntu /var/www/html/
    rm -rf /var/www/html/index.html

    cd /var/www/html

    # Install TYPO3
    rm -rf /var/www/html
    ln -s /vagrant /var/www/html
    mysql -uroot -proot typo3 < /vagrant/dump.sql
    cp /vagrant/examples/AdditionalConfiguration.php /var/www/html/typo3/typo3conf/