блог-форум о программировании

Вы не вошли.


Deprecated: Function create_function() is deprecated in /home/user2058794/www/majestio.info/include/class/geshi.php on line 4698

#1 2017-11-21 02:25:59

Majestio
Администратор
Здесь с 2017-11-17
Сообщений: 73
Windows 10Firefox 57.0

FreeBSD = Установка FreeBSD 11.1 (x64) на VMWare 12


FreeBSD = Установка FreeBSD 11.1 (x64) на VMWare 12


И так, разворачиваю FreeBSD 11.1 в качестве площадки для разработок.

Этапы
  1. Первоначальная установка из iso-образа

  2. Правка /etc/make.conf

  3. Обновление дерева портов и установка Midnight Commander

  4. Заменяем для рута редактор по-умолчаниб с vi на mcediror

  5. Заменяем шелл на bash для пользователей

  6. Правка авторизации по SSH

  7. Правка локали и шрифтов системной консоли

  8. Пересборка ядра

  9. Прописка правил фаервола

  10. Установка и настройка XOrg & xfce4

  11. Установка и настройка PostgreSQL 9.6

  12. Установка и настройка MySQL 5.7

  13. Установка Apache 2.4.27 и PHP 7.1.8

  14. Установка и настройка Qt 5.5.1

  15. Установка MXE

1. Первоначальная установка из iso-образа

"Нарезаем" загрузочную флешку. Изначально - все по сценарию, клавиатура koi8-r, файловая система ZFS автоматом, два HDD (в режиме ACHI) в stripped, игры исключаем, автозапуск sshd обязательно.
Сетевые настройки (в /etc/resolv.conf используем поисковый домен - loc), настройки пользователя (включить в группу wheel обязательно). Запуск ssh-клиента (putty), подключение пользователем, запуск команды su. Здесь и далее - пользуемся редактором ee.

2. Правка /etc/make.conf

Небольшой тюнинг процессов сборки:

ee /etc/make.conf
CPUTYPE?=core-avx-i
MAKE_JOBS_NUMBER?=3
WITH=ICONV
WITHOUT_DEBUG=YES
3. Обновление дерева портов и установка Midnight Commander
portsnap fetch extract
pkg install misc/mc
pkg install shells/bash
pkg install shells/bash-completion
4. Заменяем для рута редактор по-умолчанию с vi на mcediror

Правим /root/.profile

...
EDITOR=mcedit; export EDITOR
...

Правим /root/.cshrc

...
setenv EDITOR mcedit
...

Релогаемся рутом.

5. Заменяем шелл на bash для пользователей

Bash ставим по причине отсутствия сабшелла у пользователей, отличных от рута, в Midnight Commander'е

chsh <пользователь>

Путь к bash'у - /usr/local/bin/bash

[[ $PS1 && -f /usr/local/share/bash-completion/bash_completion.sh ]] && \
        source /usr/local/share/bash-completion/bash_completion.sh

6. Правка авторизации по SSH

В файле /etc/ssh/sshd_config раскоментируем строчку:

AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

В домашнем каталоге создаем файл ключей:

mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0744 ~/.ssh
chmod 0644 ~/.ssh/authorized_keys
7. Правка локали и шрифтов системной консоли

Сперва добавим в /etc/login.conf следующие строки:

utf8|UTF-8 Users Accounts:\
  :charset=UTF-8:\
  :lang=en_US.UTF-8:\
  :tc=default:
utf8r|Russian UTF-8 Users Accounts:\
  :charset=UTF-8:\
  :lang=ru_RU.UTF-8:\
  :tc=default:
postgres:\
  :lang=en_US.UTF-8:\
  :setenv=LC_COLLATE=C:\
  :tc=default:

Далее, для пользователя root и majestio (тут и далее - выбираете своего) прописываем:

cap_mkdb /etc/login.conf
pw usermod -n root -L utf8
pw usermod -n majestio -L utf8r

Выкачиваем шрифты terminus на выбор в каталог /usr/share/vt/fonts/:

sys-fonts.png

cd /usr/share/vt/fonts/
fetch http://majestio.info/stuff/ter-u16.fnt

Прописываем нужный в /etc/rc.conf, и за одно переключение Рус/Лат по Ctrl-Shift:

font8x16="ter-u16.fnt"
keymap="ru.win"

А в /boot/loader.conf прописываем:

hw.vga.textmode=0
kern.vty=vt
kern.maxfiles=65535
8. Пересборка ядра

Пересобираем ядро согласно Хэндбуку. На этапе редактирования конфигурации ядра надо проверить наличие следующих параметров (согласно /usr/local/share/doc/postgresql/README-server), при необходимости добавить/изменить:

# PostgreSQL
options         SYSVSHM  # как правило 
options         SYSVSEM  # сейчас эти опции
options         SYSVMSG  # в ядре по умолчанию
options         SHMMAXPGS=65536
options         SEMMNI=40
options         SEMMNS=240
options         SEMUME=40
options         SEMMNU=120
# Firewall
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=5
options         DEVICE_POLLING
options         TEKEN_UTF8

Собственно процесс пересборки (исходное работоспособное ядро положим в /boot/kernel.good):

cp -R /boot/kernel /boot/kernel.good
cd /usr/src/sys/amd64/conf
cp GENERIC MYKERNEL
ee MYKERNEL
cd /usr/src
make buildkernel KERNCONF=MYKERNEL
make installkernel KERNCONF=MYKERNEL

Для корректной работы powerd необходимо изменить /boot/device.hint

hint.acpi_throttle.0.disabled="0"
hint.p4tcc.0.disabled="0"
9. Прописка правил фаервола

Не перегружаясь, настраиваем фаервол. Для этого добавим строки в /etc/rc.conf

firewall_enable="YES"
firewall_type="closed"
firewall_script="/etc/ipfw.rules"

И создадим файл /etc/ipfw.rules следующего содержания:

#!/bin/sh
 
################ Начало файла с правилами IPFW ##################
# Сброс всех правил перед началом работы скрипта.
 
ipfw -q -f flush
 
# Префикс для создания правил
 
cmd="ipfw -q add"       # команда добавления правил
eth="re0"               # название интерфейса
gw="192.168.1.1"        # адрес шлюза
 
#################################################################
# Нет ограничений на внутреннем интерфейсе локальной сети
# Нет необходимости в этом, если у вас нет локальной сети.
# Замените xl0 на название интерфейса вашей локальной сети
#################################################################
$cmd 00005 allow all from any to any via $eth
 
#################################################################
# Нет ограничений на интерфейсе Loopback
#################################################################
$cmd 00010 allow all from any to any via lo0
 
#################################################################
# Разрешить пакет, если он был ранее добавлен в "динамическую"
# таблицу при помощи выражения allow keep-state
#################################################################
$cmd 00015 check-state
 
#################################################################
# Раздел правил для исходящего трафика на внешнем интерфейсе
#################################################################
 
# Разрешить исходящий трафик к DNS серверу (DNS-на шлюзе)
$cmd 00110 allow tcp from any to $gw 53 out via $eth setup keep-state
$cmd 00111 allow udp from any to $gw 53 out via $eth keep-state
 
# Разрешить исходящий трафик для незащищенного www соединения
$cmd 00200 allow tcp from any to any 80 out via $eth setup keep-state
 
# Разрешить исходящий трафик для защищенного www соединения
# https с поддержкой TLS и SSL
$cmd 00220 allow tcp from any to any 443 out via $eth setup keep-state
 
# Разрешить исходящий POP/SMTP
$cmd 00230 allow tcp from any to any 25 out via $eth setup keep-state
$cmd 00231 allow tcp from any to any 110 out via $eth setup keep-state
 
# Разрешить исходящий трафик для FreeBSD (make install & CVSUP)
# По сути назначаем пользователю root полные привилегии.
$cmd 00240 allow tcp from me to any out via $eth setup keep-state uid root
 
# Разрешаем исходящий icmp ping
$cmd 00250 allow icmp from any to any out via $eth keep-state
 
# Разрешаем исходящий трафик Time
$cmd 00260 allow tcp from any to any 37 out via $eth setup keep-state
 
# Разрешаем исходящий трафик nntp news
$cmd 00270 allow tcp from any to any 119 out via $eth setup keep-state
 
# Разрешаем исходящий защищённый трафик FTP, Telnet и SCP
# Эта функция использует SSH (secure shell)
$cmd 00280 allow tcp from any to any 22 out via $eth setup keep-state
 
# Разрешаем исходящий трафик whois
$cmd 00290 allow tcp from any to any 43 out via $eth setup keep-state
 
# Запрещаем и заносим в журнал остальной исходящий трафик.
# Обеспечивает политику межсетевого экрана закрытого типа
$cmd 00299 deny log all from any to any out via $eth
 
#################################################################
# Раздел правил для входящего трафика на внешнем интерфейсе
#################################################################
 
# Запрещаем весь входящий трафик с немаршрутизируемых сетей
$cmd 00300 deny all from 192.168.0.0/16 to any in via $eth   # RFC 1918 private IP
$cmd 00301 deny all from 172.16.0.0/12 to any in via $eth    # RFC 1918 private IP
$cmd 00302 deny all from 10.0.0.0/8 to any in via $eth       # RFC 1918 private IP
$cmd 00303 deny all from 127.0.0.0/8 to any in via $eth      # loopback
$cmd 00304 deny all from 0.0.0.0/8 to any in via $eth        # loopback
$cmd 00305 deny all from 169.254.0.0/16 to any in via $eth   # DHCP auto-config
$cmd 00306 deny all from 192.0.2.0/24 to any in via $eth     # reserved for docs
$cmd 00307 deny all from 204.152.64.0/23 to any in via $eth  # Sun cluster interconnect
$cmd 00308 deny all from 224.0.0.0/3 to any in via $eth      # Class D & E multicast
 
# Запрещаем пинг извне
$cmd 00310 deny icmp from any to any in via $eth
 
# Запрещаем ident
$cmd 00315 deny tcp from any to any 113 in via $eth
 
# Запрещаем все Netbios службы. 137=name, 138=datagram, 139=session
# Netbios это MS/Windows сервис обмена.
# Блокируем MS/Windows hosts2 запросы сервера имен на порту 81
$cmd 00320 deny tcp from any to any 137 in via $eth
$cmd 00321 deny tcp from any to any 138 in via $eth
$cmd 00322 deny tcp from any to any 139 in via $eth
$cmd 00323 deny tcp from any to any 81 in via $eth
 
# Запрещаем любые опоздавшие пакеты
$cmd 00330 deny all from any to any frag in via $eth
 
# Запрещаем ACK пакеты, которые не соответствуют динамической таблице правил.
$cmd 00332 deny tcp from any to any established in via $eth
 
# Разрешить входящий трафик для www, так как я использую сервер apache
$cmd 00400 allow tcp from any to me 80 in via $eth setup limit src-addr 2
 
# Разрешить входящий трафик безопасных FTP, Telnet и SCP из глобальной сети
$cmd 00410 allow tcp from any to me 22 in via $eth setup limit src-addr 2
 
# Разрешить входящий трафик PostgreSQL & MySQL
$cmd 00430 allow tcp from any to me 5432 in via $eth setup limit src-addr 2
$cmd 00431 allow tcp from any to me 3306 in via $eth setup limit src-addr 2
 
# Отбрасываем и заносим в журнал все входящие соединения снаружи
$cmd 00499 deny log all from any to any in via $eth
 
# Всё остальное запрещено по умолчанию
# Запрещаем и заносим в журнал все пакеты для дальнейшего анализа
$cmd 00999 deny log all from any to any
################ Конец файла правил IPFW ########################

Теперь можно перегружаться

reboot
10. Установка и настройка XOrg & xfce4

Лень все собирать, будем ставить из пакетов:

pkg install x11/xorg
pkg install x11-drivers/xf86-video-vmware       # для работы под VMWare
pkg install open-vm-tools                       # для работы под VMWare  

В /etc/rc.conf:

tcsd_enable="YES"
tcsd_mode="emulator"
tpmd_enable="YES"
pkg install x11-wm/xfce4

Edit  /usr/local/etc/openldap/ldap.conf - если надо
Edit  kern.maxfiles="25000"
Edit  /usr/local/etc/smb4.conf

>>> Разобрать сообщения от pkg:

Message from xfce4-tumbler-0.1.31_6:
To override the default configuration, you must copy the rc-file:
mkdir ~/.config/tumbler
cp /usr/local/etc/xdg/tumbler/tumbler.rc ~/.config/tumbler

To reduce the height of tabs, add the hidden 'MiscSlimTabs' option
in ~/.config/xfce4/terminal/terminalrc.
MiscSlimTabs=TRUE

Message from xfce4-session-4.12.1_3:
To be able to shutdown or reboot your system, you'll have to add .rules
files in /usr/local/etc/polkit-1/rules.d directory. Which looks
like this (replace PUTYOURGROUPHERE by your group):

polkit.addRule(function (action, subject) {
  if ((action.id == "org.freedesktop.consolekit.system.restart" ||
      action.id == "org.freedesktop.consolekit.system.stop")
      && subject.isInGroup("wheel")) {
    return polkit.Result.YES;
  }
});

For those who have working suspend/resume:

polkit.addRule(function (action, subject) {
  if (action.id == "org.freedesktop.consolekit.system.suspend"
      && subject.isInGroup("wheel")) {
    return polkit.Result.YES;
  }
});

pkg install x11/xfce4-quicklauncher-plugin
pkg install x11/xfce4-taskmanager
pkg install x11/xfce4-clipman-plugin
pkg install x11/xfce4-dashboard
pkg install x11/xfce4-embed-plugin
pkg install x11/xfce4-screenshooter-plugin
pkg install x11/xfce4-verve-plugin
pkg install x11/xfce4-whiskermenu-plugin
pkg install x11/xfce4-wmdock-plugin
pkg install mail/xfce4-mailwatch-plugin
pkg install misc/xfce4-weather-plugin
pkg install misc/xfce4-wm-themes
pkg install sysutils/xfce4-mount-plugin
pkg install x11-clocks/xfce4-datetime-plugin

Создаем конфигурационный файл X11 /etc/X11/xorg.conf следующего содержания:

Section "ServerLayout"
    Identifier     "XFree86 Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/local/lib/xorg/modules"
    FontPath     "/usr/local/share/fonts/programmer/"
    FontPath     "/usr/local/share/fonts/cyrillic/"
    FontPath     "/usr/local/share/fonts/TrueType/"
    FontPath     "/usr/local/share/fonts/misc/"
    FontPath     "/usr/local/share/fonts/OTF/"
    FontPath     "/usr/local/share/fonts/TTF/"
    FontPath     "/usr/local/share/fonts/Type1/"
    FontPath     "/usr/local/share/fonts/75dpi/"
    FontPath     "/usr/local/share/fonts/100dpi/"
    FontPath     "/usr/local/share/fonts/dejavu/"
    FontPath     "/usr/local/share/fonts/util/"
EndSection

Section "Module"
    Load  "dbe"
    Load  "dri"
    Load  "dri2"
    Load  "extmod"
    Load  "glx"
    Load  "record"
    Load  "freetype"
EndSection

Section "InputDevice"
    Identifier   "Keyboard0"
    Driver       "evdev"
    Option       "XkbModel" "pc105"
    Option       "XkbLayout" "us,ru"
    Option       "XkbOptions" "compose:lwin,grp:lctrl_lshift_toggle,numpad:microsoft,ctrl:nocaps"
EndSection

Section "InputDevice"
    Identifier   "Mouse0"
    Driver       "vmmouse"
    Option       "Protocol" "auto"
    Option       "Device" "/dev/sysmouse"
    Option       "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    Identifier   "vmware"
    VendorName   "VMware, Inc"
    HorizSync    30-100
    VertRefresh  56-120
EndSection

Section "Device"
   Identifier  "VMware SVGA"
   Driver      "vmware"
   BusID       "PCI:0:15:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "VMware SVGA"
    Monitor        "vmware"
EndSection

И добавляем в /etc/rc.conf:

moused_enable="YES"
dbus_enable="YES"
hald_enable="YES"
# kdm4_enable="YES" <-- по желанию сразу логин в иксах, но лучче не надо
vmware_guest_vmblock_enable="YES"
vmware_guest_vmhgfs_enable="YES"
vmware_guest_vmmemctl_enable="YES"
vmware_guest_vmxnet_enable="YES"
vmware_guestd_enable="YES"

создаем скрипт здя запуска xfce4

echo "exec startxfce4" > /home/<user>/.xinitrc

Небольшие косметические правки для лучшего отображения шрифтов на LCD-экране:

cd /usr/ports/print/freetype
make -DWITH_LCD_FILTERING deinstall reinstall
# тут в меню конфигурации порта выбираем все опции
cd /usr/ports/print/freetype2
make deinstall reinstall

The environment variable "FREETYPE_PROPERTIES" can be used to control the
driver properties. Example:

FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
        cff:no-stem-darkening=1 \
        autofitter:warping=1

Копируем свои шрифты в /usr/local/share/fonts/programmer и индексируем:

cd /usr/local/share/fonts/programmer
ttmkfdir -o fonts.dir
mkfontdir /usr/local/share/fonts/programmer
fc-cache -f

В иксах ...

xset fp+ /usr/local/share/fonts/programmer
xset fp rehash
11. Установка и настройка PostgreSQL 9.6
pkg install databases/postgresql96-server
pkg install databases/postgresql96-contrib
pkg install databases/postgresql96-plperl
mkdir -p /mnt/tree/pgsql/data
cd /mnt/tree
chown -R postgres:postgres pgsql

В файл /etc/rc.conf дописываем

postgresql_enable="YES"
postgresql_data="/mnt/tree/pgsql/data"
postgresql_flags="-w -s -m fast"
postgresql_initdb_flags="--encoding=utf-8 --lc-collate=C --locale=ru_RU.UTF-8"
postrgesql_class="russian-koi8r"
postgresql_class="postgres"

Выполняем инициализацию базы

/usr/local/etc/rc.d/postgresql initdb

В файл /mnt/tree/pgsql/data/pg_hba.conf дописываем строчку - разрешения доступа по сети 192.168.1.0:

host  all all 192.168.1.0/24 trust

В файле /mnt/tree/pgsql/data/postgresql.conf находим и изменяем строчки:

listen_addresses='*'    # принимать соединения на любом интерфейсе
lc_messages='C'         # вывод сообщений с английской локалью
service postgresql start
psql --username=postgres
  createlang plperl
  ALTER USER "postgres" WITH PASSWORD 'new_password';
\q
12. Установка и настройка MySQL 5.7
pkg install databases/mysql57-server
mkdir -p /mnt/tree/mysql/data
mkdir -p /mnt/tree/mysql/temp
mkdir -p /mnt/tree/mysql/mysql-files
cd /mnt/tree
chmod -R 750 mysql
chown -R mysql:mysql mysql

Правим /usr/local/etc/mysql/my.cnf на:

[client]
port                            = 3306
socket                          = /tmp/mysql.sock

[mysql]
prompt                          = \u@\h [\d]>\_
no_auto_rehash

[mysqld]
user                            = mysql
port                            = 3306
socket                          = /tmp/mysql.sock
bind-address                    = 192.168.1.18
basedir                         = /usr/local
datadir                         = /mnt/tree/mysql/data
tmpdir                          = /mnt/tree/mysql/temp
slave-load-tmpdir               = /mnt/tree/mysql/temp
secure-file-priv                = /mnt/tree/mysql/mysql-files
log-bin                         = mysql-bin
log-output                      = TABLE
master-info-repository          = TABLE
relay-log-info-repository       = TABLE
relay-log-recovery              = 1
slow-query-log                  = 1
server-id                       = 1
sync_binlog                     = 1
sync_relay_log                  = 1
binlog_cache_size               = 16M
expire_logs_days                = 30
default_password_lifetime       = 0
enforce-gtid-consistency        = 1
gtid-mode                       = ON
safe-user-create                = 1
lower_case_table_names          = 1
explicit-defaults-for-timestamp = 1
myisam-recover-options          = BACKUP,FORCE
open_files_limit                = 32768
table_open_cache                = 16384
table_definition_cache          = 8192
net_retry_count                 = 16384
key_buffer_size                 = 256M
max_allowed_packet              = 64M
query_cache_type                = 0
query_cache_size                = 0
long_query_time                 = 0.5
innodb_buffer_pool_size         = 1G
innodb_data_home_dir            = /mnt/tree/mysql/data
innodb_log_group_home_dir       = /mnt/tree/mysql/data
innodb_data_file_path           = ibdata1:128M:autoextend
innodb_temp_data_file_path      = ibtmp1:128M:autoextend
innodb_flush_method             = O_DIRECT
innodb_log_file_size            = 256M
innodb_log_buffer_size          = 16M
innodb_write_io_threads         = 8
innodb_read_io_threads          = 8
innodb_autoinc_lock_mode        = 2
skip-symbolic-links

[mysqldump]
max_allowed_packet              = 256M
quote_names
quick
cd /mnt/tree/mysql/data
/usr/local/libexec/mysqld --initialize --user=mysql

Запоминаем пароль для рута (например &jRYIYaqd3Y6)

в /etc/rc.conf добавляем:

mysql_enable="YES"
mysql_dbdir="/mnt/tree/mysql/data"
service mysql-server start
mysql -u root -p

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

[pre]ALTER USER 'root'@'localhost' IDENTIFIED BY '<новы-пароль-рута>';
CREATE USER 'user'@'%' IDENTIFIED BY '<пароль-юзера>' PASSWORD EXPIRE NEVER;
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
\q
13. Установка Apache 2.4.27 и PHP 7.1.8
pkg install www/apache24
pkg install lang/php71
pkg install lang/php71-extensions

собираем названия всех пакетов, удаляем промежуточные каталоги и прописываем впесто /usr/ports/ -> pkg install[пробел]

find /usr/ports -type d | grep php71 | sed 's%/usr/ports/%pkg install %g' | sed '/\/files/d' > ~/php-pkg.txt

Проверяем что установлено

pkg install archivers/php71-phar
pkg install archivers/php71-zlib - уже установлено
pkg install converters/php71-iconv - уже установлено
pkg install databases/php71-pdo
pkg install databases/php71-pdo_sqlite - уже установлено
pkg install databases/php71-sqlite3
pkg install devel/php71-json - уже установлено
pkg install devel/php71-tokenizer - уже установлено
pkg install security/php71-filter
pkg install security/php71-hash
pkg install sysutils/php71-posix - уже установлено
pkg install textproc/php71-dom - уже установлено
pkg install databases/php71-pdo_pgsql - требует меньшую версию postgresql
pkg install databases/php71-pgsql - требует меньшую версию postgresql
pkg install lang/php71-extensions - уже установлено
pkg install lang/php71 - уже установлено
pkg install textproc/php71-ctype - уже установлено
pkg install textproc/php71-simplexml - уже установлено
pkg install textproc/php71-xml - уже установлено
pkg install textproc/php71-xmlreader - уже установлено
pkg install textproc/php71-xmlwriter - уже установлено
pkg install www/php71-opcache - уже установлено
pkg install www/php71-session - уже установлено
pkg install databases/php71-dba - явно не нужно
pkg install databases/php71-interbase - явно не нужно
pkg install databases/php71-odbc
pkg install databases/php71-pdo_dblib - явно не нужно
pkg install databases/php71-pdo_firebird - явно не нужно
pkg install databases/php71-pdo_odbc - явно не нужно
pkg install ftp/php71-fastdfs
pkg install mail/php71-imap - явно не нужно
pkg install net-mgmt/php71-snmp - явно не нужно
pkg install net/php71-ldap
pkg install archivers/php71-bz2
pkg install archivers/php71-zip
pkg install converters/php71-mbstring
pkg install converters/php71-recode
pkg install databases/php71-memcache
pkg install databases/php71-mysqli
pkg install databases/php71-pdo_mysql
pkg install devel/php71-gettext
pkg install devel/php71-intl
pkg install devel/php71-pcntl
pkg install devel/php71-readline
pkg install devel/php71-shmop
pkg install devel/php71-sysvmsg
pkg install devel/php71-sysvsem
pkg install devel/php71-sysvshm
pkg install ftp/php71-curl
pkg install ftp/php71-ftp
pkg install graphics/php71-exif
pkg install graphics/php71-gd
pkg install math/php71-bcmath
pkg install math/php71-gmp
pkg install misc/php71-calendar
pkg install net/php71-soap
pkg install net/php71-sockets
pkg install net/php71-xmlrpc
pkg install security/php71-mcrypt
pkg install security/php71-openssl
pkg install sysutils/php71-fileinfo
pkg install textproc/php71-enchant
pkg install textproc/php71-pspell
pkg install textproc/php71-wddx
pkg install textproc/php71-xsl
pkg install www/mod_php71
pkg install www/php71-tidy

Добавляем в /etc/rc.conf

apache24_enable="YES"

Правим /usr/local/etc/apache24/httpd.conf

Добавляем в конец файла, например

<VirtualHost *>
ServerName drupal-7.loc
DocumentRoot /mnt/tree/www/drupal-7
</VirtualHost>
<VirtualHost *>
ServerName drupal-8.loc
DocumentRoot /mnt/tree/www/drupal-8
</VirtualHost>
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>
mkdir -p /mnt/tree/www/drupal-7
mkdir -p /mnt/tree/www/drupal-8

============================================================================

14. Установка и настройка Qt 5.5.1
pkg install devel/qt5
15. Установка MXE

Устанавливаем необходимый софт:

pkg install \
    automake autoconf bash bison coreutils flex \
    gcc gdk-pixbuf2 gettext git glib gmake gperf gsed intltool libffi \
    libtool openssl p5-XML-Parser p7zip patch perl5 \
    pkgconf python ruby scons unzip wget git

Переключаемся с root'а на пользователя, потом выполняем:

mkdir -p $HOME/Dev/{cross,projests,src,stuff,tools}
cd $HOME/Dev/cross
git clone https://github.com/mxe/mxe.git
cd mxe

В файле makefile найти и удалить "unzip" в секции REQUIREMENTS.

gmake MXE_TARGETS='x86_64-w64-mingw32.shared '`
                  'x86_64-w64-mingw32.static '`
                  'i686-w64-mingw32.shared '`
                  'i686-w64-mingw32.static '`
                  'x86_64-w64-mingw32.shared.posix '`
                  'x86_64-w64-mingw32.static.posix '`
                  'i686-w64-mingw32.shared.posix '`
                  'i686-w64-mingw32.static.posix' gcc

... продолжение не следует)

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] CCBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.242 сек, 7 запросов выполнено - Использовано памяти: 2.3 Мбайт (Пик: 2.76 Мбайт) ]