Oracle Cloud Free Tier


Компания Oracle предлагает облачный сервис бесплатно на неограниченное количество времени. Ниже описание того как я тестировал эту возможность.

Я не буду в подробностях описывать как регистрироваться, скажу, что достаточно перейти по ссылке https://oracle.com/free и вам понадобится карта для проверки вашего возраста (спишут 1EU и тут же вернут).

Вы получаете два компьютера AMD с одним гигом памяти на борту и еще несколько «плюшек» в виде Object Storage и Autonomous Data Warehouse.

Идея простая, поднять на VM сервис HTTP + PHP и подключится на запись и чтение к Autonomous Data Warehouse.

Погуглив была найдена инструкция по установки PHP с поддержкой OCI8, сразу оговорюсь, я использовал настройки по умолчанию от Oracle в надежде, что все пройдет гладко, так как я использую только родное, но был удивлен когда все пошло не так.

Установить HTTPD оказалось очень просто, потом установил PHP он стал по умолчанию 7.4 что дало о себе знать в дальнейшем.

sudo yum install -y oracle-release-el7 oracle-php-release-el7
sudo yum install -y php php-devel php-xml dtrace-utils
wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar
sudo yum -y install oracle-instantclient19.13-basic oracle-instantclient19.13-devel
sudo PHP_DTRACE=yes pecl install oci8-2.2.0
sudo sh -c "echo extension=oci8.so > /etc/php.d/20-oci8.ini"
sudo sh -c "echo oci8.events = On >> /etc/php.d/20-oci8.ini"
sudo systemctl enable --now httpd.service
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
sudo setsebool -P httpd_can_network_connect on
sudo systemctl restart httpd

И еще один момент, после того как вы создали виртуальную машину, будет создана и подсеть, так вот надо открыть порт 80 для адреса 0.0.0.0/0 для того, чтобы подключиться к httpd серверу.

Так как к базе данных надо подключаться через wallet файл, чтобы закачать его в виртуальную машину мы активируем Object Storage (создаем bucket) и загружаем туда наш wallet от Autonomous Data Warehouse, а затем командой sudo wget закачиваем его /usr/lib/oracle/19.13/client64/lib/network/admin и запаковываем его unzip *.zip

Последним шагом является проверка: /var/www/html создаем info.php с командой phpinfo(); результатом будет конфигурация сервера и наличие в этой конфигурации отдельной секции OCI8

Следующим этапом проверяем подключение к БД, для этого скачиваем пример example.php (его можно скачать здесь) меняем в нем пароль и название имя базы данных (смотри в файле wallet файл tnsnames.ora). Я разместил этот файл в Object Storage, а потом скачал через wget.

Запускаем наш проверочный код http://<ваш IP виртуальной машины>/Example.php и должна появится табличка, а если подключится к нашей облачной базе данных то увидим там новую таблицу MYCLOUDTBL.

Итак, я получил навык работы с облачными сервисами, попрактиковался в администрировании Linux и убедился, что пока бесплатных пользователей не очень любят, на мой взгляд компания Oracle могла предусмотреть скрипты для организации подключения из виртуальных машин к базам данных их же собственного облака.