PHP 7.0 и PHP 5.6 на одном сервере

php-v7-logo

Внимание! Для полной установки и настройки веб-сервера, перейдите СЮДА

В последней версии Ubuntu 16.04 Xenial в репозитория пропал PHP 5.6, т.к. уже давно полноценно работает новая версия — PHP 7.0.

Но возможно кому то, как и мне (я не успел еще протестировать свои приложения на новой версии)  нужен php 5.6, так почему же не установить их вместе?

Шаг 1. Репозитироии PHP 5.6

Если вы хотите использовать php 5.6, добавим репозиторий для старой версии:

$ sudo add-apt-repository ppa:ondrej/php

Обновим репозитории:

$ sudo apt-get update

Шаг 2. Установка PHP

Теперь давайте установим обе версии php (или  устанавливаем нужную)

$ sudo apt-get install php5.6
$ sudo apt-get install php7.0

Шаг 3. Дополнительные модули

Для нормальной работы веб-сервера, мне пришлось еще доставить недостающие модули.

$ sudo apt-get install php5.6-mbstring php5.6-mysql php5.6-gd
$ sudo apt-get install php-mbstring php7.0-mbstring php-gettext
$ sudo apt-get install php7.0-mysql

И включить Mod Rewrite

Переключение и конфигурация

Конфиг файлы (php.ini) можно найти здесь:
PHP 5.6

/etc/php/5.6/

PHP 7

/etc/php/7.0/

 

Переключать активные версии можно командами:
Отключаем PHP 5.6

$ sudo a2dismod php5.6

Включаем PHP 7

$ sudo a2enmod php7.0

Перегружаем апач

$ sudo service apache2 restart

И обратно
Проверить рабочую версию в данный момент, можно функцией phpinfo

<?php phpinfo(); ?>

Или продолжайте установку веб-сервера LAMP с Шага 3.1

Как включить mod_rewrite Ubuntu 14.04

mod_rewrite_logo

Самый простой способ включить mod_rewrite заключается в следующем.

  1. Активируем модуль:
    $ sudo a2enmod rewrite
  2. Перезагружаем апач
    $ sudo service apache2 restart
  3. Включите поддержку .htaccess, в виртуальном хосте
    $ sudo nano /etc/apache2/sites-available/000-default.conf

    И добавьте следующий текст между Directory «/var/www/html»> и /Directory>

    AllowOverride All

Установка ffmpeg на Ubuntu 14.04

Сегодня понадобилось установить ffmpeg и обрезать видео. Оказывается с недавних пор в репах ubuntu его убрали, поэтому нужно установить из PPA.

ffmpeg-logo1

1. Добавим ppa

$ sudo add-apt-repository ppa:jon-severinsson/ffmpeg

2. Обновим список пакетов.

$ sudo apt-get update

3. Установим ffmpeg

$ sudo apt-get install ffmpeg

Установка завершена.

Мне нужно было просто обрезать видео. Для этого я воспользовался командой:

$ ffmpeg -i my_video.mp4 -ss 00:03:04 -t 00:05:40 -vcodec copy -acodec copy cut.avi

Где:

  • my_video.mp4 — название видео.
  • -ss 00:03:04 — время начала обрезки
  • -t 00:05:40 — время до которого нужно обрезать ролик
  • -vcodec copy -acodec — видео и аудио кодек оставляем как на исходном видео
  • cut.avi — название исходящего файла.

Справку можно посмотреть набрав команду:

$ man ffmpeg

Также рекомендую почитать :
19 команд ffmpeg для любых нужд
Работа с FFMpeg

Ошибка при старте apache2

Хотел установить на сервере apache mod_proxy. После установки модуля, перестал стартовать апач.
Получал ошибку :

* Restarting web server apache2 (98)Address already in use: AH00072: make_sock: could not bind to address [::]:443
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:8081
no listening sockets available, shutting down
AH00015: Unable to open logs
Action ‘start’ failed.
The Apache error log may have more information.

Проблема решилась, путем редактирования файла ports.conf

$ sudo nano /etc/apache2/ports.conf

Нужно убрать дубликаты записей

Listen 80 или Listen 443
В моем случае, я закоментировал дубликат записи Listen 443

ports.conf

ports.conf

Git установка и настройка на примере bitbucket.

В этой статье, я хочу рассказать Вам, как устанавливается и настраиваться git на Ubuntu 14.04, и как подключить его к аккаунту на  bitbucket.

Bitbucket, я выбрал потому, что там можно бесплатно, использовать приватные репозитории.

git_logo-1024x480

Шаг 1. Установка Git.

Выполняем в терминале (Ctrl+Alt+T)

$ sudo apt-get install git

Настроим имя пользователя

$ git config --global user.name "FIRST_NAME LAST_NAME"

Укажем email

$ git config --global user.email "MY_NAME@example.com"

Шаг 2. Настройка SSH

Генерируем ключ

$ ssh-keygen

На все вопросы отвечаем нажатием Enter

Запустите ssh-agent

$ ps -e | grep [s]sh-agent

Добавляем ключ в ssh-agent

$ ssh-add ~/.ssh/id_rsa

Шаг 3. Установка ключа на Bitbucket

  1. Заходим на сайт bitbucket.org
  2. Кликаем по своей аватарке
  3. Выбираем «Управление аккаунтом» —> «SSH-ключи»
  4. В терминале выполняем
    $ cat ~/.ssh/id_rsa.pub
  5. Копируем результат команды, и вставляем в окно в браузере.
  6. Жмем добавить ключ

На этом все, осталось разве что клонировать ваш проект с Bitbucket, для этого нужно перейти в директорию где у вас должен лежать сайт, и выполнить в терминале :

$ git clone git@bitbucket.org:Your_login/your_repo.git

Более подробнее о том как работать с git, на сайтах: githowto.com и git-scm.com

Установка и настройка Apache, PHP, MySQL, phpMyAdmin на Ubuntu 14.04 LTS + 16.04 LTS

UPD. Статья обновлена до актуальной версии 24.08.2016
Однажды я уже писал статью, о том как установить  Lamp  на убунту, но с тех пор многие компоненты изменились, и соответственно, их установка изменилась.

Большинство команд выполняем в терминале (Ctrl+Alt+T)

Шаг 1. Установка Apache.

$ sudo apt-get install apache2

Далее перейдите по адресу http://localhost и вы должны увидеть стартовую страницу apache.

apache

Apache — стартовая страница.

Для того, чтобы после каждой перезагрузки апача, не получать уведомления вида:

apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message

Откройте конфиг апача:

$ sudo nano /etc/apache2/apache2.conf

В конце файла добавьте строки:

ServerName 127.0.0.1

 

Шаг 2. Установка MySQL.

$ sudo apt-get install mysql-server mysql-client

В ходе установке, нужно задать пароль администратора баз данных.

mysql config

Установка пароля

Проверьте, установку:

$ sudo service mysql status

в ответ должны увидеть что-то типа если у вас Ubuntu 14.04:

$ mysql start/running, process 3470

Или если у вас Ubuntu 16.04:

1471984511297

Шаг 3. Установка PHP

Для Ubuntu 16.04

Внимание! Если у вас Ubuntu 16.04 и выше тогда перейдите СЮДА

Для Ubuntu 14.04

$ sudo apt-get install php5 php5-mysql libapache2-mod-php5

Шаг 3.1 Проверка работы PHP

Создадим файл test.php

$ sudo nano /var/www/html/test.php

Добавим следующее содержание

<?php
phpinfo();
?>

И откроем в браузере ссылку: http://localhost/test.php

Вы должны увидеть информацию о установленном php, его версию, модули, и т.д.

phpinfo

Информация о PHP

Шаг 3.2 Настройка php.ini

Откроем php.ini для редактирования.
Для Ubuntu 14.04

$ sudo nano /etc/php5/apache2/php.ini

Для Ubuntu 16.04 PHP 5.6

$ sudo nano /etc/php/5.6/apache2/php.ini

Для Ubuntu 16.04 PHP 7.0

$ sudo nano /etc/php/7.0/apache2/php.ini

Находим директиву short_open_tag , и включаем ее, заменяем off на on

Этим мы включили  возможность использования коротких тегов php: <? ?>

P.S Из-за этой настройки, я два вечера не мог разобраться, почему у меня не работал скрипт, и выдавал ошибку:

Parse error: syntax error, unexpected ‘}’ in …

Раньше данная директива по-умолчанию была включена

Шаг 4. Установка phpMyAdmin.

$ sudo apt-get install phpmyadmin

Отвечаем на все вопросы, заданные при установке.
Проверим установку, перейдя по адресу http://localhost/phpmyadmin/

Вы увидите страничку авторизации.

Вводим логин и пароль, заданный администратора баз данных, при установке MySQL.

phpmyadmin

phpMyAdmin — авторизация

Шаг 5. Настройка виртуальных хостов.

Для удобства я размещаю свои сайты в домашней директории.

Создадим каталог в котором будет размещены наши сайты.

$ mkdir www

Далее каталог нашего сайта.

$ mkdir www/site.com

Создадим тестовый файл

$ nano www/site.com/index.php

И напишем что-то для проверки:

<?php echo '<h1>Hello world</h1>'; ?>

Создаем новый виртуальных хост.

Копируем файл шаблона.

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site.com.conf

Открываем его для редактирования.

$ sudo nano /etc/apache2/sites-available/site.com.conf

Вставляем следующие строки:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName site.com
DocumentRoot /home/gansik/www/site.com
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/gansik/www/site.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Обратите внимание, не забудьте подставить свои данные.
gansik — имя моего пользователя

site.com — адрес моего сайта.

Включаем наш сайт

$ sudo a2ensite site.com

Перезагружаем apache

$ sudo service apache2 restart

Редактируем hosts, для того, чтобы мы могли зайти на сайт, по нашему адресу.

$ sudo nano /etc/hosts

В первой строке, после localhost, добавим адрес нашего сайта site.com 

hosts

Hosts

Сохраняем, закрываем, и переходим по адресу нашего локального сайта site.com  , в ответ мы должны увидеть Hello world.

На этом вся настройка завершена