Instalowanie portalu

Zanim zainstalujesz portal usług dla programistów Apigee (lub po prostu portal), upewnij się, że:

  1. Postgres instaluje się przed instalacją portalu. Możesz zainstalować Postgres w ramach instalacji Edge lub zainstalować Postgres jako samodzielną usługę do użytku przez portal.
    • Jeśli zainstalujesz samodzielną bazę danych Postgres, może ona znajdować się w tym samym węźle co portal.
    • Jeśli łączysz się z instancją Postgres zainstalowaną w ramach Edge, a Postgres jest skonfigurowany w trybie czuwania/master, podaj adres IP głównego serwera Postgres.
  2. Instalujesz 64-bitową wersję obsługiwanej wersji Red Hat Enterprise Linux, CentOS lub Oracle. Listę obsługiwanych wersji znajdziesz w artykule Obsługiwane oprogramowanie i obsługiwane wersje.
  3. Yum jest zainstalowany.

Instalator zawiera tylko moduły Drupal, które są wymagane przez portal usług dla programistów Apigee (lub po prostu portal). Informacje o instalowaniu innych modułów znajdziesz w artykule Extending Drupal 7 (Rozszerzanie Drupala 7).

Omówienie instalacji

Aby zainstalować portal, wykonaj te czynności. Każdy z tych kroków jest szczegółowo opisany w kolejnych sekcjach.

  1. Testowanie połączenia
  2. Usuwanie wersji PHP starszych niż 7.0
  3. Instalowanie Postgres
  4. Instalowanie portalu
  5. Sprawdzanie, czy Menedżer aktualizacji jest włączony
  6. (Opcjonalnie) Konfigurowanie Apache Solr
  7. (Opcjonalnie) Instalowanie SmartDocs
  8. (Opcjonalnie) Konfigurowanie JQuery

Wycofanie właściwości SMTPSSL

We wcześniejszych wersjach do ustawiania protokołu używanego przez serwer SMTP połączony z portalem służyła właściwość SMTPSSL. Ta właściwość została wycofana.

Do ustawiania protokołu używanego przez serwer SMTP połączony z portalem służy teraz właściwość SMTP_PROTOCOL, a nie SMTPSSL. Prawidłowe wartości to: „standard”, „ssl” lub „tls”.

Tworzenie pliku konfiguracji portalu

Poniżej znajdziesz przykładowy plik konfiguracji instalacji dyskretnej portalu. W razie potrzeby zmodyfikuj ten plik, aby dostosować go do swojej konfiguracji. Użyj opcji -f w poleceniu setup.sh, aby dołączyć ten plik.

IP1=IPorDNSnameOfNode

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Specify the name of the portal database in Postgres.
PG_NAME=devportal

# Specify the Postgres admin credentials.
# The portal connects to Postgres by using the 'apigee' user.
# If you changed the Postgres password from the default of 'postgres'
# then set PG_PWD accordingly.
# If connecting to a Postgres node installed with Edge,
# contact the Edge sys admin to get these credentials.
PG_USER=apigee
PG_PWD=postgres

# The IP address of the Postgres server.
# If it is installed on the same node as the portal, specify that IP.
# If connecting to a remote Postgres server,specify its IP address.
PG_HOST=$IP1

# The Postgres user credentials used by the portal
# to access the Postgres database,
# This account is created if it does not already exist.
DRUPAL_PG_USER=drupaladmin
DRUPAL_PG_PASS=portalSecret

# Specify 'postgres' as the database.
DEFAULT_DB=postgres

# Specify the Drupal admin account details.
# DO NOT set DEVPORTAL_ADMIN_USERNAME=admin.
# The installer creates this user on the portal.
DEVPORTAL_ADMIN_FIRSTNAME=firstName
DEVPORTAL_ADMIN_LASTNAME=lastName
DEVPORTAL_ADMIN_USERNAME=userName
DEVPORTAL_ADMIN_PWD=PORTAL_ADMIN_PASSWORD
DEVPORTAL_ADMIN_EMAIL=foo@bar.com

# Edge connection details.
# If omitted, you can set them in the portal UI.
# Specify the Edge organization associated with the portal.
EDGE_ORG=edgeOrgName

# Specify the URL of the Edge management API.
# For a Cloud based installation of Edge, the URL is:
# https://api.enterprise.apigee.com/v1
# For a Private Cloud installation, it is in the form:
# http://ms_IP_or_DNS:8080/v1 or
# https://ms_IP_or_DNS:TLSport/v1
MGMT_URL=https://api.enterprise.apigee.com/v1

# The org admin credentials for the Edge organization in the form
# of Edge emailAddress:pword.
# The portal uses this information to connect to Edge.
DEVADMIN_USER=orgAdmin@myCorp.com
DEVADMIN_PWD=ORG_ADMIN_PASSWORD

# The PHP port.
# If omitted, it defaults to 8888.
PHP_FPM_PORT=8888

# Optionally configure the SMTP server used by the portal.
# If you do, the properties SMTPHOST and SMTPPORT are required.
# The others are optional with a default value as notated below.
# SMTP hostname. For example, for the Gmail server, use smtp.gmail.com.
SMTPHOST=smtp.gmail.com

# Set the SMTP protocol as "standard", "ssl", or "tls",
# where "standard" corresponds to HTTP.
# Note that in previous releases, this setting was controlled by the
# SMTPSSL property. That property has been deprecated.
SMTP_PROTOCOL="standard"

# SMTP port (usually 25).
# The value can be different based on the selected encryption protocol.
# For example, for Gmail, the port is 465 when using SSL and 587 for TLS.
SMTPPORT=25

# Username used for SMTP authentication, defaults is blank.
SMTPUSER=your@email.com

# Password used for SMTP authentication, default is blank.
SMTPPASSWORD=YOUR_EMAIL_PASSWORD

1. Testowanie połączenia z Apigee Edge

Przetestuj połączenie między serwerem, na którym zamierzasz zainstalować portal, a serwerem zarządzania Edge, wykonując na serwerze portalu to polecenie curl:

curl -u EMAIL:PASSWORD http://ms_IP_or_DNS:8080/v1/organizations/ORGNAME

lub

curl -u EMAIL:PASSWORD https://ms_IP_or_DNS:TLSPort/v1/organizations/ORGNAME

Gdzie EMAIL i PASSWORD to adres e-mail i hasło administratora ORGNAME.

Pamiętaj, aby podać nazwę hosta i numer portu właściwe dla Twojej instalacji Edge. Port 8080 jest domyślnym portem używanym przez Edge. Jeśli łączysz się z organizacją w chmurze, adres URL żądania to: https://api.enterprise.apigee.com/v1/organizations/ORGNAME.

Jeśli operacja się uda, curl zwróci odpowiedź podobną do tej:

{
  "createdAt" : 1348689232699,
  "createdBy" : "USERNAME",
  "displayName" : "cg",
  "environments" : [ "test", "prod" ],
  "lastModifiedAt" : 1348689232699,
  "lastModifiedBy" : "foo@bar.com",
  "name" : "cg",
  "properties" : {
    "property" : [ ]
  },
  "type" : "trial"
}

2. Usuwanie wersji PHP starszych niż 7.0

Przed rozpoczęciem instalacji skrypt instalacyjny sprawdza, czy w systemie są zainstalowane wersje PHP starsze niż 7.0. Jeśli istnieją wersje PHP starsze niż 7.0, pojawi się ten komunikat ostrzegawczy:

The following packages present on your system conflict with software we are
about to install. You will need to manually remove each one, then re-run this install script.

php
php-cli
php-common
php-gd
php-mbstring
php-mysql
php-pdo
php-pear
php-pecl-apc
php-process
php-xml

Usuń pakiety PHP za pomocą tego polecenia:

yum remove package_name

Jeśli nie masz pewności, czy PHP jest zainstalowany na serwerze, użyj tego polecenia:

rpm -qa | grep -i php

Pamiętaj, że portal używa PHP w wersji 4.18.01-0.0.49. Nie jest on zgodny z numerem wersji Apigee Edge dla chmury prywatnej.

3. Instalowanie Postgres

Zanim zainstalujesz portal, musisz zainstalować Postgres. Możesz zainstalować Postgres w ramach instalacji Edge lub zainstalować Postgres jako samodzielną usługę do użytku przez portal.

  • Jeśli łączysz się z bazą danych Postgres zainstalowaną w ramach Edge, a Postgres jest skonfigurowany w trybie czuwania/master, podaj adres IP głównego serwera Postgres.
  • Jeśli zainstalujesz samodzielną bazę danych Postgres, może ona znajdować się w tym samym węźle co portal.

Informacje o instalowaniu Postgres w ramach instalacji Edge znajdziesz w artykule Instalowanie komponentów Edge w węźle.

Aby zainstalować samodzielną bazę danych Postgres:

  1. Zainstaluj narzędzie Edge apigee-setup w węźle, korzystając z procedury internetowej lub innej niż internetowa. Więcej informacji znajdziesz w artykule o instalowaniu narzędzia apigee-setup w Edge.
  2. Utwórz plik konfiguracji Postgres, jak pokazano w tym przykładzie:
    # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost
    HOSTIP=$(hostname -i)
    
    # The pod and region of Postgres. Use the default values shown below.
    MP_POD=gateway
    REGION=dc-1
    
    # Set the Postgres password. The default value is 'postgres'.
    PG_PWD=postgres
  3. W wierszu poleceń uruchom skrypt konfiguracyjny, aby zainstalować Postgres:
    /opt/apigee/apigee-setup/bin/setup.sh -p pdb -f postgres_config_file

    Opcja -p pdb określa, że ma zostać zainstalowany PostgreSQL. Plik konfiguracji musi być dostępny lub możliwy do odczytania przez użytkownika „apigee”.

4. Instalowanie portalu

Zanim zainstalujesz portal, upewnij się, że zostały wykonane czynności opisane w sekcji 3. Zainstaluj Postgres:

  1. Instalowanie narzędzia Edge apigee-setup w węźle portalu
  2. Zainstaluj Postgres jako samodzielną usługę lub w ramach instalacji Edge.

Aby zainstalować portal:

  1. W wierszu poleceń uruchom skrypt setup:
    /opt/apigee/apigee-setup/bin/setup.sh -p dp -f configFile

    Gdzie:

    • configFile to plik konfiguracji portalu opisany w sekcji Tworzenie pliku konfiguracji portalu.
    • -p dp instruuje skrypt setup, aby zainstalował portal.

Aby sprawdzić, czy instalacja portalu się powiodła:

  1. Przejdź na stronę główną portalu pod adresem http://localhost:8079 lub do nazwy DNS portalu.
  2. Zaloguj się w portalu, używając danych logowania administratora ustawionych w pliku konfiguracji portalu.
  3. W menu Drupal wybierz Reports > Status Report (Raporty > Raport o stanie), aby sprawdzić, czy widzisz aktualny stan portalu.
  4. Upewnij się, że połączenie z serwerem zarządzania zostało nawiązane. Jeśli nie:
    1. Otwórz stronę konfiguracji połączenia z portalem (np. http://portal_IP:8079/admin/config/devconnect).
    2. Kliknij przycisk Test Connection (Testuj połączenie). Jeśli połączenie zostanie nawiązane, to wszystko. Jeśli nie uda się nawiązać połączenia, przejdź dalej.
    3. Sprawdź ustawienia punktu końcowego i uwierzytelniania:
      • Adres URL punktu końcowego interfejsu API zarządzania: sprawdź, czy protokół (HTTP lub HTTPS), adres IP lub nazwa DNS oraz numer portu są prawidłowe, na przykład:
        http://10.10.10.10:8080/v1
      • Uwierzytelniony użytkownik punktu końcowego: nazwa użytkownika administratora organizacji.
      • Authenticated user's password (Hasło uwierzytelnionego użytkownika): hasło administratora organizacji.

      Wartości domyślne odzwierciedlają ustawienia w pliku konfiguracji portalu utworzonym podczas procesu instalacji.

      Te wartości powinny być zgodne z wartościami ms_IP_or_DNS, email i password użytymi w kroku 1. Przetestuj połączenie z Apigee Edge. Nazwa użytkownika i hasło powinny być zgodne z wartościami właściwości USER_NAME i USER_PWD w pliku konfiguracji wprowadzenia lub z danymi logowania dowolnego użytkownika, który ma rolę administratora organizacji.

    4. Po nawiązaniu połączenia z serwerem zarządzania kliknij przycisk Zapisz konfigurację u dołu strony, aby zapisać zmiany.

5. Upewnij się, że moduł Update manager jest włączony.

Aby otrzymywać powiadomienia o aktualizacjach Drupala, upewnij się, że moduł Drupal Update manager jest włączony. W menu Drupal wybierz Modules (Moduły) i przewiń w dół do modułu Update manager (Menedżer aktualizacji). Jeśli nie jest włączony, włącz go.

Po włączeniu tej opcji możesz zobaczyć dostępne aktualizacje, klikając Raporty > Dostępne aktualizacje. Możesz też użyć tego polecenia Drush:

drush pm-info update

To polecenie musisz uruchomić z katalogu głównego witryny. Domyślnie portal jest instalowany w /opt/apigee/apigee-drupal/wwwroot. Dlatego przed uruchomieniem polecenia musisz najpierw zmienić katalog na /opt/apigee/apigee-drupal/wwwroot. Jeśli portal nie został zainstalowany w katalogu domyślnym, przejdź do katalogu instalacyjnego.

Użyj opcji menu Raporty > Dostępne aktualizacje > Ustawienia, aby skonfigurować moduł tak, aby wysyłał Ci e-maile, gdy dostępne są aktualizacje, i ustawić częstotliwość sprawdzania dostępności aktualizacji.

6. Konfigurowanie wyszukiwarki Apache Solr (opcjonalnie)

Domyślnie moduły Drupal, które łączą się z wyszukiwarką Apache Solr, są wyłączone podczas instalacji portalu. Większość portali korzysta z wewnętrznej wyszukiwarki Drupal, dlatego nie wymagają one modułów Drupal Solr.

Jeśli zdecydujesz się używać Solr jako wyszukiwarki, musisz zainstalować Solr lokalnie na serwerze, a następnie włączyć i skonfigurować moduły Drupal Solr w portalu.

Aby włączyć moduły Drupal Solr:

  1. Zaloguj się w portalu jako użytkownik z uprawnieniami administratora lub uprawnieniami do tworzenia treści.
  2. W menu Drupal wybierz Modules (Moduły).
  3. Włącz moduły Apache Solr Framework i Apache Solr Search.
  4. Zapisz zmiany.
  5. Skonfiguruj Solr zgodnie z opisem na stronie https://drupal.org/node/1999280.

7. Instalowanie SmartDocs (opcjonalnie)

SmartDocs umożliwia dokumentowanie interfejsów API w portalu w sposób, który sprawia, że dokumentacja API jest w pełni interaktywna. Aby jednak używać SmartDocs w portalu, musisz najpierw zainstalować SmartDocs w Edge.

  • Jeśli łączysz portal z instalacją Edge Cloud, usługa SmartDocs jest już zainstalowana i nie jest wymagana żadna dodatkowa konfiguracja.
  • Jeśli łączysz portal z instalacją Edge dla chmury prywatnej, musisz upewnić się, że w Edge jest zainstalowana usługa SmartDocs. Więcej informacji o instalowaniu Edge i SmartDocs znajdziesz w artykule Instalowanie SmartDocs.

Musisz też włączyć SmartDocs w portalu. Więcej informacji o SmartDocs znajdziesz w artykule Dokumentowanie interfejsów API za pomocą SmartDocs.

8. Konfigurowanie modułu JQuery Update na potrzeby instalacji bez dostępu do internetu (opcjonalnie)

Jeśli instalujesz moduł JQuery Update i używasz go w instalacji bez połączenia z internetem, musisz skonfigurować moduł tak, aby używał lokalnej wersji JQuery. Jeśli skonfigurujesz moduł tak, aby używał sieci CDN w przypadku instalacji bez połączenia z internetem, spróbuje on uzyskać dostęp do sieci CDN, co spowoduje opóźnienia wczytywania strony. Więcej informacji o module JQuery Update znajdziesz na stronie https://www.drupal.org/project/jquery_update.

Aby skonfigurować moduł JQuery Update do korzystania z lokalnej wersji JQuery:

  1. Zaloguj się w portalu jako użytkownik z uprawnieniami administratora lub uprawnieniami do tworzenia treści.
  2. W menu Drupal kliknij Configuration > Development > JQuery Update (Konfiguracja > Programowanie > Aktualizacja JQuery).
  3. W menu nawigacyjnym po lewej stronie kliknij Skuteczność.
  4. W menu JQuery and JQuery UI CDN (Sieć CDN JQuery i JQuery UI) wybierz None (Brak).
  5. Kliknij Zapisz konfigurację.

9. Dalsze kroki

W tabeli poniżej znajdziesz niektóre z najczęstszych zadań, które wykonuje się po instalacji, oraz linki do dokumentacji Apigee, w której znajdziesz więcej informacji:

Zadanie Opis

Dostosowywanie motywu

Motyw określa wygląd portalu, w tym kolory, styl i inne aspekty wizualne.

Dostosowywanie wyglądu

Strona główna zawiera menu główne, wiadomość powitalną, nagłówek, stopkę i tytuł.

Dodawanie kont użytkowników i zarządzanie nimi

Proces rejestracji określa, jak nowi deweloperzy rejestrują konto w portalu. Na przykład czy nowi deweloperzy uzyskują natychmiastowy dostęp do portalu, czy muszą zostać zweryfikowani przez administratora. Ten proces określa też, jak administrator portalu jest powiadamiany o utworzeniu nowego konta.

Konfigurowanie poczty e-mail

Portal wysyła e-maile w odpowiedzi na określone zdarzenia. Na przykład gdy nowy deweloper rejestruje się w portalu lub gdy deweloper zapomni hasła.

Dodawanie kont użytkowników i zarządzanie nimi

Dodaj stronę z warunkami, które programiści muszą zaakceptować, zanim uzyskają dostęp do portalu.

Dodawanie kont użytkowników i zarządzanie nimi

Portal implementuje model autoryzacji oparty na rolach. Zanim zezwolisz deweloperom na rejestrację, zdefiniuj uprawnienia i role używane przez portal.

Dodawanie postów na blogu i forum

Portal ma wbudowaną obsługę blogów i forów wątkowych. Zdefiniuj uprawnienia wymagane do wyświetlania, dodawania, edytowania i usuwania postów na blogu i forum.

Tworzenie kopii zapasowych bazy danych

Upewnij się, że tworzysz kopię zapasową bazy danych Drupal. Pamiętaj, że każda instalacja jest inna, więc musisz samodzielnie określić, jak najlepiej utworzyć kopię zapasową bazy danych.

Zobacz też Jak utworzyć kopię zapasową.

Konfigurowanie nazwy hosta

Jeśli nie skonfigurujesz nazwy hosta na serwerze DNS, zawsze możesz uzyskać dostęp do witryny za pomocą adresu IP serwera. Jeśli chcesz używać nazwy hosta, możesz skonfigurować DNS dla serwera, co powinno działać prawidłowo bez żadnej innej konfiguracji w podstawowej konfiguracji.

Jeśli skonfigurujesz system równoważenia obciążenia lub z innego powodu otrzymujesz nieprawidłowe adresy URL w witrynie, możesz ustawić $base_url dla Drupal, wykonując te czynności:

  1. Utwórz katalog /opt/apigee/data/apigee-drupal-devportal/sites/default/includes, jeśli nie istnieje.
  2. Utwórz w tym katalogu plik o nazwie settings.php.
  3. Dodaj do pliku settings.php te informacje:
    /**
    * Base URL (optional).
    *
    * If Drupal is generating incorrect URLs on your site, which could
    * be in HTML headers (links to CSS and JS files) or visible links
    * on pages (such as in menus), uncomment the Base URL statement
    * below (remove the leading hash sign) and fill in the absolute URL
    * to your Drupal installation.
    *
    * You might also want to force users to use a given domain.
    * See the .htaccess file for more information.
    *
    * Examples:
    *   $base_url = 'http://www.example.com';
    *   $base_url = 'http://www.example.com:8888';
    *   $base_url = 'http://www.example.com/drupal';
    *   $base_url = 'https://www.example.com:8888/drupal';
    *
    * It is not allowed to have a trailing slash; Drupal will add it
    * for you.
    */
    # $base_url = 'http://www.example.com/';  // NO trailing slash!
    $base_url = ‘http://www.example.com’;
  4. Zmień ostatni wiersz $base_url na nazwę hosta swojej witryny.
  5. Zapisz plik.

Pamiętaj, że w tym pliku możesz umieścić dowolne inne ustawienia z /opt/apigee/data/apigee-drupal-devportal/ sites/default/default.settings.php.

Więcej informacji o właściwości $base_url znajdziesz tutaj:

Tworzenie niestandardowych rozwiązań Możesz też rozszerzyć możliwości portalu za pomocą niestandardowego kodu poza motywem. Aby to zrobić, utwórz własny moduł Drupala zgodnie z opisem w tematach dotyczących tworzenia modułów w Drupalu i umieść go w katalogu /sites/all/modules.