Удаленная Адресная книга Thunderbird, выбор gContactSync vs CardBook

Редакция автор: stain

gContactSync

Внедряется в стандартную адресную книгу.
Синхронизируется с аккаунтами Google
Ограниченный поиск только по основным полям

CardBook

Самостоятельная адресная книга
Синхронизируется с CardDAV/Google/Apple
Умеет искать по телефону
Поиск работает непосредственно в письма поле Кому, подставляя вместо найденного почтовый ящик.

Добавляем удаленную адресную книгу в CardBook

Кликаем на CardBook.

Кликаем во вкладке CardBook на кнопку Меню слева.

Выбираем Адресная книга / Добавить адресную книгу.

Заполняем данные по аккаунту.

Заключение

И первое и второе вполне рабочий вариант, но после CardBook, gContactSync не станешь использовать.

Я ранее пытался написать руководство по использованию gContactSync, оставлю на него ссылку.

Комментариев: 0

И снова перенос системного раздела Debian

Редакция автор: stain

Предыдущий пост был размыт, и как оказалось был ошибочен.
Так к примеру без chroot, и переинсталяции grub вы так и оставались на старом логическом томе, хотя создавалось ощущение что вы не на нем, но невооруженным взглядом в /etc/fstab можно было увидеть где вы на самом деле. Так что этот огромный косяк я попытался исправить в этом пошаговом руководстве. Итак поехали.

Источник

sudo mkdir /mnt/source && sudo mount /dev/sdX /mnt/source 

Получатель (логический том должен быть отформатирован, и быть)

sudo mkdir /mnt/dest && sudo mount /dev/sdY /mnt/dest 

Копирование

sudo cp -xpr /mnt/source/* /mnt/dest 

, где то видел что при копировании используют ключи -rfvp
-xpr oneFileSystem/preserve/recursive
-rfvp recursive/force/verbose/preserve

Изменение fstab на новом разделе

Заменяем в точке монтирования корня sdX на sdY

Подготавливаем Chroot

sudo mount -t proc none /mnt/dest/proc/
sudo mount -t sysfs sysfs /mnt/dest/sys/
sudo mount -o bind /dev/ /mnt/dest/dev/
sudo mount -o bind /run/ /mnt/dest/run/
sudo chroot /mnt/dest

update-grub && grub-install /dev/sda
exit 

Перезагружаемся

Проверяем что в нашей системе в fstab правильные данные.

Комментариев: 0

Анализ дискового пространства хостинга через ssh

Редакция автор: stain

Покажет информацию о текущем каталоге, в виде папок/файлов отсортированных по размеру занятого ими места на диске.

du -s * | sort -nr

Просто размер занимаемый содержимым текущей папки.

du -hs

Комментариев: 0

Laravel 5.4 на хостинге Timeweb

Редакция автор: stain

Последние новости первыми
требования для Laravel 5.6: PHP >= 7.1.3 + модули
простой путь для ubuntu 16.04lts на vps/vds/локальном сервере

sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/apache2
sudo apt update
apt-get install php7.2 #установить php7.2
sudo apt upgrade #обновиться
sudo a2dismod php7.0 #выключить php7.0
sudo a2enmod php7.2 #включить php7.2
sudo service apache2 reload #перезапустить apache2

#Установка лары 5.6
composer create-project - -prefer-dist laravel/laravel .
Удалить папку public_html и создать символическую ссылку на public
ln -s public public_html
#Далее надо выполнить две вещи в корне проекта
cp .env/example .env
php artisan key:generate
#выставить права, как указано ниже.
#После этого Лара заработает.

Чтобы не заливать вендоров туда сюда и иметь возможность работать с git(без его захламления)
положить на сайте hook

touch .git/hooks/post-receive
cat < .git/hooks/post-receive
#!/bin/sh
cd ..
GIT_DIR='.git'

if [ -e "composer.json" ];
 then
  if [ -d "vendor" ];
    then
      /opt/php7.2/bin/php -d memory_limit=500M ~/.utils/composer.phar install --no-dev
  else
      /opt/php7.2/bin/php -d memory_limit=500M ~/.utils/composer.phar update --no-dev
  fi
fi
git reset --hard

EOF
chmod +x .git/hooks/post-receive

====
Чтобы этот хук срабатывал нужно чтобы подтягивалась в консоли нужная версия php, для этого
положить композер в ~/.utils/
создать в корне сайта или всего хостинга файл .bash_profile с алиасом к нужной версии php, иначе вендоры не установятся.!!! НЕ ПОМОЖЕТ так как этот профиль запускается только если вы активный пользователь консоли. а в скрипте не выйдет, поэтому выше скрипт написан с полными путями php на текущий момент 2019/02/23? а вот composer придется залить например в ~/.utils, composer.phar хоть и присутствует в системе, но мало вероятно что вам позволят его обновлять.

cat < .bash_profile
alias composer='/opt/php7.2/bin/php -d memory_limit=500M ~/.utils/composer.phar'

EOF2

Как узнать где лежит нужня версия php
Вводим whereis php
По результам увидим нужные пути, например /opt/php70/bin/php
Запустить команду от php 7.0: /opt/php70/bin/php /путь/script.php

Все что ниже, предыдущие опыты, совершенно не актуальны, и по большей части ошибочны.

Composer уже стоит.
Создаю поддомен.
В настройках сайта ставлю по дефолтом php 7.
Вхожу через ssh в корень сайта public_html.
Выполняю команду:

composer create-project --prefer-dist laravel/laravel .

Вроде что то ставится, к сожалению выпадаю в ошибку после установки в момент конфигурации. Похоже дело в выбранной версии php. так и есть по умолчанию в консоли версия 5.3...! Чтобы успешно запустить скрипт artisan, нужно добавить расположение нужной консольной версии php в команду:

/opt/php7.0/bin/php artisan optimize

Не знаю нужно ли что то еще, надо проверять на локальной машине, чтобы знать наверняка, что после выполнения скрипта установка завершена. или смотреть код 🙂

Below are steps I've set on a hosting with cPanel without any changes in laravel_app:

check out/copy laravel_app code to your home, /home/your_user/laravel_app

set permissions:

chmod 755 /home/your_user/laravel_app/ 
chmod 755 /home/your_user/laravel_app/public/
chmod 644 /home/your_user/laravel_app/public/index.php 
chmod -R 777 /home/your_user/laravel_app/storage 
chmod -R 777 /home/your_user/laravel_app/bootstrap/cache 

create symlink

ln -s /home/your_user/laravel_app/public ~/public_html/laravel_app_public

create ~/public_html/.htaccess .htaccess

Options -Indexes

RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/laravel_app_public/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ laravel_app_public/$1 
RewriteRule ^(/)?$ laravel_app_public/index.php [L] 

Чиним composer.json прописал в нем пути к php 7-мой версии (там аж 4 места для правки было), но все тщетно 🙂 Скрипт успешно исполняется, но ошибки в гуи не исчезают. Оказывается нужно сгенерировать ключ:

/opt/php7.0/bin/php artisan key:generate

По итогу.
Установил laravel в папку .laravel (чтоб не пересекалась с сайтами, хотя по сути получается что в ней будут храниться файлы сайта, в корень которого будет положена симлинка)
Правка файла composer.json чтобы команды корректно отрабатывали из консоли.
Запуск команды composer update для переактивации установленного с ошибкой конфигурирования laravel
Генерация ключей.

И вроде как все. Почти уверен что траблы не привязанного жестко php еще всплывут, так как скорее всего в процессе работы laravel со всем его комбайном обязательно обратится к консольной версии php.

P.S.: В стандартном мануале большая часть проблем описана. Так например траблы с ключом решаются переименованием файла env.example и там же описано как перегенерировать ключ, и при генерации файлик "env" с вписанным ключом появляется.

Так же там указано что следует дать полный доступ к bootstrap/cache.

Вроде как все ясно), но понимая что придется использовать препроцессоры, все снова упирается в локальный сервер, собственно оно и для git будет удобнее. В последствии буду плясать от локального размещения, и последующего запуливания на сервер(в данном случае на хостинг), и уже по проторенной дорожке и в соответствии с ней настраивать работоспособность готового продукта.

Полезно знать:
Database.
Session.
Cache.
OAuth2 - Laravel Passport.
Laravel Elixir - api для работы с препроцессорами.
Инсталяция 5-той версии.
Объяснение основ.
Laravel проект в Docker контейнерах. Github project LaraDock.
Try-laravel online course.
Первоисточник английских вкраплений.

Комментариев: 0

Docker-CE Шаблоны

Редакция автор: stain

Официальный способ установки, но на виртуалке не все так гладко как описано.

Установка докера.

Для Ubuntu 16.04 lts server

1. Удаляем старое.

sudo apt-get remove docker docker-engine docker.io

2. Устанавливаем для 14.04 allow Docker to use the aufs storage drivers. Для 16.04 не требуется.

sudo apt-get update && sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

2.1 Устанавливаем для allow apt to use a repository over HTTPS.

sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

3. Прописываем ключи к репозиторию.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo apt-key fingerprint 0EBFCD88

4. Добавляем репозиторий напрямую в с помощью редактора/etc/apt/sources.list.

deb https://download.docker.com/linux/ubuntu xenial stable

5. Устанавливаем докер.

sudo apt-get update && sudo apt-get install docker-ce

Первый блин

Создаем каталог для контейнеров.
Создаем каталог для первого блина, допустим это UBUNTU16.
создаем файл Dockerfile

FROM ubuntu:16.04 #Указывает образ обычно сторонний на котором будет строиться вся ваша кухня. 
ADD можно добавить каталог
WORKDIR рабочий директорий, для выполнения комманд из RUN.
RUN тут можно что то установить или выполнить допустим sudo apt-get update && sudo apt-get install LAMP
CMD только единожды может быть в докерфайле, служит чтобы что то выполнить или просто вывести сообщение посредством echo.
ENV описывает переменные окружения и позволяет их модифицировать для контейнера например переменная path

после того как файл готов, заходим в дирректорию контейнера
и пробуем в консоли запустить создание контейнера
docker build -t меткаконтейнеравашегоприложения .
Пробуем запустить ваш контейнер временно (-rm) интерактивно(-it)
docker run -ti --rm -p 5000:8080 меткаконтейнеравашегоприложенияв данном случае вы попадете внутрь контейнера в командный интерпретатор как в случае с chroot и что бы вы там не поменяли изменится это только внутри контейнера например новые файлы появятся в контейнере и когда вы закончите работу с ним то по завершении работы контейнера они бы остались в каталоге контейнера(если бы не был использован ключ -rm ).
Изменения останутся только если выйти из контейнера через exit, и провести подобную операцию docker commit -m "What did you do to the image" -a "Author Name" container-id repository/new_image_name

Уничтожение контейнера

docker rm хешконтейнера
Где взять хеш контейнера docker ps -a, самая левая колонка.

Крадем золотое руно.

Идем на DockerHub
Или из консоли docker search что-то, но прочесть дополнительную информацию о контейнере проще будет через браузер
Ищем интересующий вас инструмент например этот
создаем каталог контейнера На самом деле если вам не нужны надстройки, просто docker pull чей-то-образ
создаем короткий Dockerfile
FROM greyltc/lamp
Создаем котейнер docker build -t меткаконтейнеравашегоприложения .

Запускаем контейнер docker run --name lamp -p 80:80 -p 443:443 -d greyltc/lamp
Накручиваем что надо поверх.

На закуску, образы хранятся не в каталогах контейнеров а все вместе имена у них в виде хешей.
В общем нужно еще указывать где будет лежать ваш контент.

Касательно команд тут все более менее актуально, но по инсталяции самого докера информация устарела.

Копипастим через SSH

Основной трабл консольного сервера на виртуальной машине. Невозможности копипаста
а потому будем ходить через Putty и для этого:
Добавляем еще один сетевой интерфейс в режиме "Виртуальный адаптер хоста"

sudo apt-get update && sudo apt-get install ssh
sudo nano /etc/network/interfaces

Добавляем в низ файла:
auto enp0s8
iface enp0s8 inet static
    address 192.168.56.10
    netmask 255.255.255.0

Сохраняем файл, перезагружаемся: sudo reboot

первая дефолтная сетка начинается с 192.168.56.XXX

Комментариев: 0

Почта для домена на Yandex

Редакция автор: stain

1. Хостинг - фаза 1.

Заходите на ваш хостинг, выбираете и настраиваете mx запись mx 10 mx.yandex.net (на ТаймВеб, достаточно выбрать вкладку яндекса, и нажать кнопку сохранить).

2. Yandex - фаза 1.

Регистрируете обычную учетную запись на yandex.ru. Заходите по адресу https://pdd.yandex.ru. Добавляете ваш домен.

3. Хостинг - фаза 2.

Кидаете на домен в корень сайта(через FTP/SFTP/SSH или админку хостера) файл верификации.

4. Yandex - фаза 2.

Настраиваете в Редакторе DNS на https://pdd.yandex.ru/domain_ns/ВашДомен/ записи:

Хост Тип Значение записи
imap A IP-адрес_вашего сайта
@ A IP-адрес_вашего сайта
pop3 A IP-адрес_вашего сайта 
smtp A IP-адрес_вашего сайта 
www A IP-адрес_вашего сайта

Проходите проверку валидации.

Проверяете подключение к домену на yandex.ru, создаете необходимые учетные записи пользователей и учетку для спама. Настраиваете домен, а именно выбираете на какой почтовый ящик слать письма присланные на несуществующие почтовые ящики.

Теперь самое главное, чтобы ящики полноценно работали, необходимо залогиниться на самом яндексе в почтовый ящик пользователя, и там ввести дополнительную информацию, после этого почтовый ящик пользователя начнет присылать и отправлять письма.

Комментариев: 0