Web developer's blog

My name is Egor Zotov. I’m a full stack web developer. Live in Khabarovsk, Russia. Working remotely. My github, twitter and email.

One-line install of postman on Ubuntu

sudo sh -c "$(curl -fsSL https://gist.githubusercontent.com/aviskase/e642248c35e400b56e2489430952369f/raw/402ac4a2c0cec70e12f197b15fa2ef4bf25df737/install-postman.sh)"

add icon

cat > ~/.local/share/applications/postman.desktop <<EOL
[Desktop Entry]
Encoding=UTF-8
Name=Postman
Exec=postman
Icon=/opt/Postman/resources/app/assets/icon.png
Terminal=false
Type=Application
Categories=Development;
EOL
Dec 18   system

Beget VPS – закрытый бета тест

На днях стал участником закрытого бета теста VPS у провайдера бегет.

Немного скриншотов и статистики.

Удобная админка vps раздела

Настройки сервера (пока доступен только один тариф)

Статистика сервера

Есть возможность запуска консоли в админке

Я выбрал CentOS 7. Немного тестов.

Тест от nench

-------------------------------------------------
 nench.sh v2017.06.01 -- https://git.io/nench.sh
 benchmark timestamp:    2017-12-07 08:55:55 UTC
-------------------------------------------------

Processor:    Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
CPU cores:    2
Frequency:    2199.998 MHz
RAM:          7.6G
Swap:         -
Kernel:       Linux 3.10.0-693.5.2.el7.x86_64 x86_64

Disks:
vda     50G  HDD

CPU: SHA256-hashing 500 MB
    1.375 seconds
CPU: bzip2-compressing 500 MB
    4.644 seconds
CPU: AES-encrypting 500 MB
    1.250 seconds

ioping: seek rate
    min/avg/max/mdev = 57.4 us / 78.3 us / 8.53 ms / 49.1 us
ioping: sequential read speed
    generated 19.0 k requests in 5.00 s, 4.65 GiB, 3.81 k iops, 951.4 MiB/s

dd: sequential write speed
    1st run:    820.16 MiB/s
    2nd run:    768.66 MiB/s
    3rd run:    802.04 MiB/s
    average:    796.95 MiB/s

IPv4 speedtests
    your IPv4:    87.236.23.xxxx

    Cachefly CDN:         89.31 MiB/s
    Leaseweb (NL):        69.25 MiB/s
    Softlayer DAL (US):   4.96 MiB/s
    Online.net (FR):      31.94 MiB/s
    OVH BHS (CA):         6.70 MiB/s

No IPv6 connectivity detected
-------------------------------------------------

Тест от bench.sh

----------------------------------------------------------------------
CPU model            : Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
Number of cores      : 2
CPU frequency        : 2199.998 MHz
Total size of Disk   : 50.0 GB (4.2 GB Used)
Total amount of Mem  : 7821 MB (1706 MB Used)
Total amount of Swap : 0 MB (0 MB Used)
System uptime        : 0 days, 23 hour 12 min
Load average         : 0.02, 0.02, 0.05
OS                   : CentOS 7.4.1708
Arch                 : x86_64 (64 Bit)
Kernel               : 3.10.0-693.5.2.el7.x86_64
----------------------------------------------------------------------
I/O speed(1st run)   : 870 MB/s
I/O speed(2nd run)   : 830 MB/s
I/O speed(3rd run)   : 828 MB/s
Average I/O speed    : 842.7 MB/s
----------------------------------------------------------------------
Node Name                       IPv4 address            Download Speed
CacheFly                        95.213.193.68           95.3MB/s      
Linode, Tokyo, JP               106.187.96.148          11.1MB/s      
Linode, Singapore, SG           139.162.23.4            7.75MB/s      
Linode, London, UK              176.58.107.39           55.4MB/s      
Linode, Frankfurt, DE           139.162.130.8           61.7MB/s      
Linode, Fremont, CA             50.116.14.9             5.93MB/s      
Softlayer, Dallas, TX           173.192.68.18           10.0MB/s      
Softlayer, Seattle, WA          67.228.112.250          8.96MB/s      
Softlayer, Frankfurt, DE        159.122.69.4            22.2MB/s      
Softlayer, Singapore, SG        119.81.28.170           7.77MB/s      
Softlayer, HongKong, CN         119.81.130.170          5.45MB/s      
----------------------------------------------------------------------

Ну и тест от коробочной Битрикс24

Ценовую политику бегет пока что не раскрывает. Остается надеяться, что цены на услуги VPS будут такие же демократичные как и цены на виртуальный хостинг.

Dec 7   hosting   system

Install composer globally on Ubuntu

curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

In one line:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Nov 20   php   system

How to switch from bash to zsh with Terminator and PhpStorm

Аs the main OS I use Ubuntu with bash. I wanted to change default Unix shell bash to zsh. Zsh is like bash but with blackjack and hookers improvements and new features.

Here is gist file from renshuki that I google. It installs Terminator, zsh and Agnoster Theme for zsh.

Install Terminator (shell)


sudo add-apt-repository ppa:gnome-terminator
sudo apt-get update
sudo apt-get install terminator

Terminator should be setup as default now. Restart your terminal (shortcut: “Ctrl+Alt+T”).

Install ZSH


sudo apt-get install zsh

Restart your terminal. Choose option 2 for Z Shell configuration.
Don’t forget to migrate your previous configurations (RVM, Rbenv...) from .bashrc to .zshrc

Install Oh My ZSH


cd
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Setup missing fonts (powerline)

Install powerline font


cd
wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf
mv PowerlineSymbols.otf ~/.fonts/
mkdir -p .config/fontconfig/conf.d #if directory doesn't exists

Clean fonts cache

fc-cache -vf ~/.fonts/

Move config file


mv 10-powerline-symbols.conf ~/.config/fontconfig/conf.d/

Configure ZSH


vim ~/.zshrc

Theme

Change [ZSH_THEME=“robbyrussell”] to [ZSH_THEME=“agnoster”]

ZSH_THEME="agnoster"

Change theme colors to solarize

dconf

is required if you don’t already have it.


sudo apt-get install dconf-cli
git clone git://github.com/sigurdga/gnome-terminal-colors-solarized.git ~/.solarized
cd ~/.solarized
./install.sh

  • I recommend you option 1 (dark theme) which is just great.
  • Choose option 1 to download seebi’ dircolors-solarized

After installation, open .zshrc and add the line:

eval `dircolors ~/.dir_colors/dircolors`

To activate dark solarize theme in Terminator just right click on the terminal,

Preferences>Profiles>Colors>Foreground and Background>Built-in schemes: Solarized dark
Preferences>Profiles>Colors>Palette>Built-in schemes: Solarized

Restart Terminator and you’re done!

Enable zsh in PhpStorm

Go to the

File>Settings>Tools>Terminal

and set Shell path to the /usr/bin/zsh:

That’s it!

Nov 8   system

“Refused to display in a frame” при установке битрикс24 виджета

При подключении виджета открытых линий битрикс24 на сайт возможна проблема с заголовком X-Frame-Options:

Refused to display “your.bitrix24.ru” in a frame because it set ‘X-Frame-Options’ to ‘SAMEORIGIN’

Эту проблему можно решить двумя способами.

Первый способ

Отключить защиту от кликджекинга в настройках битрикса. На странице Защита от фреймов (Настройки > Проактивная защита > Защита от фреймов) нажать “Отключить ограничение работы во врейме”.

Второй способ (более продвинутый)

Изменить настройки хостинга портала. Ошибка означает, что nginx не разрешает вашему сайту загрузить во фрейм контент (виджета открытых линий) с портала your.bitrix24.ru.

Заголовок X-Frame-Options имеет три варианта конфигурации:

  1. SAMEORIGIN – Позволяет загрузку контента в frame/iframe только если фрейм и страница, его загружающая, расположены на одном домене
  2. DENY – Запрещает загрузку контента в frame/iframe.
  3. ALLOW-FROM – Допускает загрузку контента в фреймах только для определенного URI.

Необходимо добавить сайт в исключения, тем самым разрешив загрузку виджета с внешнего сайта во фрейм.
Добавляем в исключения сайт (допустим example.com) на машине your.bitrix24.ru (BitrixVM, есть привилегии суперпользователя).

Если настроен ssl сертификат (сайт работает через https протокол)

sudo vi /etc/nginx/bx/site_enabled/ssl.s1.conf

Если не настроен ssl сертификат (сайт работает через http протокол)

sudo vi /etc/nginx/bx/site_enabled/s1.conf

После строки server { вставляем:

add_header X-Frame_options "ALLOW-FROM http://example.com";

Сохраянем файл и выходим

:wq

Перезапускаем nginx

service nginx restart

Готово.
Обратите внимание, что файл конфигурации может быть не s1.conf и не ssl.s1.conf – это зависит от идентификатора сайта вашего портала Битрикс24.

Nov 5   bitrix