ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить Swift и Vapor на Ubuntu 16.04

Как установить Swift и Vapor на Ubuntu 16.04

Введение

Swift является языком программирования от Apple. Он быстрый, безопасный и современный, и он имеет огромное сообщество для поддержки языка. Swift используется в основном для разработки IOS и приложений MacOS, но Swift 3, вы можете использовать для разработки серверных приложений.

Vapor является популярным фреймворком на стороне сервера Swift. С Swift в паре они быстры и современны, и он поддерживают многие из функций, которые вы увидите в фреймворке для других языков программирования.

В этом руководстве вы установите Swift и Vapor на Ubuntu 16.04. Вы проверите свои настройки путем создания простого веб-приложения, используя один из шаблонов Vapor.

Предпосылки

Для выполнения этой статьи вам потребуется:

  • Один сервер Ubuntu 16.04 с некорневым пользователем с доступом sudo. Вы можете узнать, как установить его с помощью руководства по начальной настройке сервера.
  • Git установленный на вашем сервере. Git уже должен быть установлен на Ubuntu 16.04, но если это не так, запустите sudo apt-get install git.

Шаг 1 – Установка Swift

Для того, чтобы иметь возможность создавать и запускать веб-приложения на Vapor, в первую очередь необходимо установить Swift.

Во-первых, убедитесь, что у вас последний список пакетов в системе:

sudo apt-get update

 

Затем установите предпосылки Swift , которые включают в себя clang и некоторые компоненты Python 2.7:

sudo apt-get install clang libicu-dev libpython2.7

 

После этого загрузите последнюю версию Swift. Это не доступно с помощью apt, но вы можете загрузить его вручную с помощью страницы загрузки Swift (https://swift.org/download/), или wget:

wget https://swift.org/builds/swift-4.0-release/ubuntu1604/swift-4.0-RELEASE/swift-4.0-RELEASE-ubuntu16.04.tar.gz

 

Далее, убедитесь, что ваша загрузка не была повреждена или подделана. PGP ключи импорта Swift в ваш keyring, который будет использоваться для проверки подписи файла:

gpg --keyserver hkp://pool.sks-keyservers.net \

--recv-keys \

'7463 A81A 4B2E EA1B 551F FBCF D441 C977 412B 37AD' \

'1BE1 E29A 084C B305 F397 D62A 9F59 7F4D 21A5 6D5F' \

'A3BA FD35 56A5 9079 C068 94BD 63BC 1CFE 91D3 06C6' \

'5E4D F843 FB06 5D7F 7E24 FBA2 EF54 30F0 71E1 B235'

 

Вы увидите этот вывод:

Вывод
...
gpg: key 412B37AD: public key "Swift Automatic Signing Key #1 <swift-infrastructure@swift.org>" imported
gpg: key 21A56D5F: public key "Swift 2.2 Release Signing Key <swift-infrastructure@swift.org>" imported
gpg: key 91D306C6: public key "Swift 3.x Release Signing Key <swift-infrastructure@swift.org>" imported
gpg: key 71E1B235: public key "Swift 4.x Release Signing Key <swift-infrastructure@swift.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 4
gpg:               imported: 4  (RSA: 4)

 

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

wget https://swift.org/builds/swift-4.0-release/ubuntu1604/swift-4.0-RELEASE/swift-4.0-RELEASE-ubuntu16.04.tar.gz.sig

 

Для проверки подписи файла, выполните следующую команду, которая генерирует следующий вывод:

gpg --verify swift-4.0-RELEASE-ubuntu16.04.tar.gz.sig

 

Вы увидите этот вывод:

Вывод
gpg: assuming signed data in `swift-4.0-RELEASE-ubuntu16.04.tar.gz'
gpg: Signature made Wed 20 Sep 2017 01:13:38 AM UTC using RSA key ID 71E1B235
gpg: Good signature from "Swift 4.x Release Signing Key <swift-infrastructure@swift.org>"
Primary key fingerprint: 5E4D F843 FB06 5D7F 7E24  FBA2 EF54 30F0 71E1 B235

 

Вы можете увидеть предупреждение, оно выглядит следующим образом:

Вывод
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.

 

Это означает, что Swift-ключи, которые вы импортировали, еще не доверенные, либо явно вами, либо другими ключами, установленными в вашем брелке. Вы можете спокойно игнорировать эти сообщения. Однако, если вы получили другую ошибку, вы должны повторно загрузить двоичный файл Swift.

Теперь мы действительно можем установить Swift. Выполните следующую команду для извлечения двоичного кода, который вы скачали ранее:

tar xzf swift-4.0-RELEASE-ubuntu16.04.tar.gz

 

Затем добавьте набор инструментов Swift в своем пути, так что вы можете запустить команду swift:

export PATH=swift-4.0-RELEASE-ubuntu16.04/usr/bin:"${PATH}"

 

Ввод этой команды только добавит команду swift в пути для текущего сеанса оболочки. Для того, чтобы убедиться, что он автоматически добавляется в последующих сеансах, добавьте его в файл .bashrc.

Откройте файл .bashrc:

nano ~/.bashrc

 

Добавьте следующую строку в конце файла

~ / .bashrc
. . .
export PATH=swift-4.0-RELEASE-ubuntu16.04/usr/bin:"${PATH}"

 

Сохраните и закройте файл.

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

swift

 

Вы будете встречены с Swift REPL, что свидетельствует о том, что все работает правильно.

Вывод
Welcome to Swift version 4.0 (swift-4.0-RELEASE). Type :help for assistance.
  1>  

 

Давайте дважды проверим, что все работает правильно. Введите эту программу, которая суммирует все целые числа от 1 до 5. Введите каждую строку в REPL, нажав на клавишу ENTER после каждой строки:

var x = 0
for i in 1...5 { 
    x += i 
} 
x

REPL отобразит результат вычисления:

Вывод
$R0: Int = 15

 

Выход Swift REPL с CTRL+D. Теперь, когда установлен Swift, мы готовы установить Vapor.

Шаг 2 – Установка Vapor

Чтобы установить Vapor, вы загрузите и выполните скрипт от разработчиков Vapor, который добавляет официальный репозиторий пакетов Vapor к списку пакетов вашего сервера. Тогда вы будете использовать apt, чтобы установить последнюю версию Vapor.

Это, как правило, не является хорошей практикой безопасности выполнять скрипты, загруженные из других, не проверяя их первым. Во- первых, загрузите установочный скрипт на сервер с помощью команды curl с переключателем -o, чтобы указать имя локального файла:

curl -sL apt.vapor.sh -o apt.vapor.sh

 

Используйте команду less, чтобы проверить этот скрипт:

less apt.vapor.sh

 

После того, как вы осмотрели содержимое инсталляционного скрипта, выполняйте скрипт для добавления репозитория:

bash ./apt.vapor.sh

 

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

После того, как сценарий завершится, вы можете установить пакет vapor и его зависимости.

sudo apt-get install vapor

 

Вы можете убедиться в том, что пара была успешно установлена с помощью другого скрипта, предоставленного разработчиками Vapor. Еще раз загрузите скрипт, проверьте его, а затем выполнить его:

curl -sL check.vapor.sh -o check.vapor.sh

less check.vapor.sh

bash ./check.vapor.sh

 

Вы увидите этот вывод, который указывает, что пара была успешно установлена:

Вывод
? Compatible with Vapor 2

 

Теперь, когда оба были установлены Swift и Vapor, вы можете создать свое первое приложение Vapor.

Шаг 3 – Создание приложения Vapor

Для того, чтобы создать наше приложение, мы будем использовать шаблон Vapor, который обеспечивает по умолчанию. Шаблон web позволяет создать пользовательское веб – приложение.

Этот шаблон предполагает, что вы используете Git и что вы настроили его с вашим именем и адресом электронной почты. Если у вас нет, вы можете увидеть сообщение об ошибке, которое покажет вам настроить Git. Вы можете спокойно игнорировать это сообщение, или выполнить эти команды, чтобы предоставить информацию о себе:

git config --global user.email "ваша_почта@example.ru"

git config --global user.name "Ваше имя"

 

Чтобы создать веб-приложение на основе этого шаблона, выполните следующую команду:

vapor new demo --template=web

 

Скрипт генерирует новое приложение в новом каталоге с указанным именем:

Вывод
Cloning Template [Done]
Updating Package Name [Done]
Initializing git repository [Done]
...
               _       __    ___   ___   ___
              \ \  /  / /\  | |_) / / \ | |_)
               \_\/  /_/--\ |_|   \_\_/ |_| \
                 a web framework for Swift

              Project "demo" has been created.
       Type `cd demo` to enter the project directory.
   Use `vapor cloud deploy` to host your project for free!
                           Enjoy!

 

Если вы хотели создать API вместо полного веб – приложения, вы можете использовать шаблон api: .vapor new demo –template=api

Посмотрите на исходный код веб – шаблона (http://github.com/vapor/web-template) и шаблон api (http://github.com/vapor/api-template), чтобы увидеть, как они работают.

Давайте запустим наше приложение и увидим его в действии.

Шаг 4 – Компиляция и запуск приложения Vapor

Приложения Swift  должны быть скомпилированы, в отличие от приложений в Python или Ruby. Это означает, что, прежде чем вы можете запустить приложение Vapor, вы должны запустить процесс сборки.

Во- первых, перейти на вновь созданную папку demo:

cd demo

 

Затем выполните команду vapor build для компиляции веб – приложения.

vapor build

 

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

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

vapor run serve

 

Сервер запуститься, отображая этот вывод:

Вывод
Running demo ...
...
Starting server on 0.0.0.0:8080

 

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

Откройте веб – браузер и посетите рабочую страницу приветствия Vapor приложения: http://your_server_ip:8080.

Вывод

Swift сообщество неуклонно растет, и есть много способов принять участие. Хотя Swift в основном используется для создания родных приложений IOS и MacOS, Swift на платформе Linux находится на подъеме. Вы можете узнать больше о Swift, ознакомившись с языком программирования Swift (https://itunes.apple.com/us/book/the-swift-programming-language-swift-4/id881256329?mt=11), бесплатную электронную книгу от Apple. Чтобы узнать больше о Vapor, проверьте их документацию (https://docs.vapor.codes/2.0/).

Exit mobile version