{"id":196,"date":"2014-04-09T16:17:35","date_gmt":"2014-04-09T06:17:35","guid":{"rendered":"https:\/\/icicimov.com\/blog\/?p=196"},"modified":"2017-01-02T19:11:34","modified_gmt":"2017-01-02T08:11:34","slug":"horde-groupware-webserver","status":"publish","type":"post","link":"https:\/\/icicimov.com\/blog\/?p=196","title":{"rendered":"Horde Groupware Webserver"},"content":{"rendered":"<p><div class=\"fx-toc fx-toc-id-196\"><h2 class=\"fx-toc-title\">Table of contents<\/h2><ul class='fx-toc-list level-1'>\n\t<li>\n\t\t<a href=\"https:\/\/icicimov.com\/blog\/?p=196#setup\">Setup<\/a>\n\t\t<ul class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/icicimov.com\/blog\/?p=196#imap-configuration\">IMAP configuration<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/icicimov.com\/blog\/?p=196#apache-configuration\">Apache configuration<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/icicimov.com\/blog\/?p=196#activesync\">ActiveSync<\/a>\n\t\t\t<\/li>\n\t\t<\/ul>\n\t<li>\n\t\t<a href=\"https:\/\/icicimov.com\/blog\/?p=196#horde-tuning\">Horde Tuning<\/a>\n\t\t<ul class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/icicimov.com\/blog\/?p=196#apc\">APC<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/icicimov.com\/blog\/?p=196#autoload-caching-module\">Autoload caching module<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/icicimov.com\/blog\/?p=196#install-php-image-libraries\">Install PHP image libraries<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/icicimov.com\/blog\/?p=196#enable-viewing-html-eservers\">Enable viewing HTML eservers<\/a>\n\t\t\t<\/li>\n\t\t<\/ul>\n\t<li>\n\t\t<a href=\"https:\/\/icicimov.com\/blog\/?p=196#updating-horde\">Updating Horde<\/a>\n\t<\/li>\n<\/ul>\n<\/ul>\n<\/div>\n<br \/>\n<a href=\"https:\/\/www.horde.org\/apps\/webmail\">Horde<\/a> Groupware Webserver Edition is a free, enterprise ready, browser based communication suite. Users can read, send and organize server messages and manage and share calendars, contacts, tasks, notes, files and bookmarks. It can be extended with any of the released Horde applications or the Horde modules that are still in development, like a bookmark manager, or a file manager.<\/p>\n<p>Horde will provide access to our IMAP server via web console.<\/p>\n<h2><span id=\"setup\">Setup<\/span><\/h2>\n<p>We install PEAR and then using this system install we install another version of PEAR that is system independent and will be used for Horde install and upgrade only.<\/p>\n<pre><code>root@server:~# aptitude install debpear\nroot@server:~# mkdir \/var\/www\/webmail\nroot@server:~# pear config-create \/var\/www\/webmail\/ \/var\/www\/webmail\/pear.conf\nroot@server:~# pear -c \/var\/www\/webmail\/pear.conf install pear\nroot@server:~# \/var\/www\/webmail\/pear\/pear -c \/var\/www\/webmail\/pear.conf channel-discover pear.horde.org\nroot@server:~# \/var\/www\/webmail\/pear\/pear -c \/var\/www\/webmail\/pear.conf install horde\/horde_role\nroot@server:~# \/var\/www\/webmail\/pear\/pear -c \/var\/www\/webmail\/pear.conf run-scripts horde\/horde_role\nroot@server:~# \/var\/www\/webmail\/pear\/pear -c \/var\/www\/webmail\/pear.conf install -a -B horde\/webmail\n<\/code><\/pre>\n<p>Next we setup MySQL database:<\/p>\n<pre>\nroot@server:~# mysql -uroot -p\nEnter password:\nWelcome to the MySQL monitor.  Commands end with ; or \\g.\nYour MySQL connection id is 42\nServer version: 5.5.31-0+wheezy1 (Debian)\nCopyright (c) 2000, 2013, Oracle and\/or its affiliates. All rights reserved.\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n \nmysql> create database webmail;\nQuery OK, 1 row affected (0.00 sec)\n \nmysql> use webmail;\nDatabase changed\n \nmysql> grant all on webmail.* to 'webmail'@'localhost' identified by '<password>';\nQuery OK, 0 rows affected (0.00 sec)\n \nmysql> flush privileges;\nQuery OK, 0 rows affected (0.00 sec)\n \nmysql> exit\n<\/password><\/pre>\n<p>and install the PHP5 database module:<\/p>\n<pre><code>root@server:~# aptitude install php5-mysql\n<\/code><\/pre>\n<p>We can now install Horde:<\/p>\n<pre><code>root@server:~# PHP_PEAR_SYSCONF_DIR=\/var\/www\/webmail php -d include_path=\/var\/www\/webmail\/pear\/php \/var\/www\/webmail\/pear\/webmail-install\n\nInstalling Horde Groupware Webserver Edition\n\nConfiguring database settings\n\nWhat database backend should we use?\n    (false) [None]\n    (mysql) MySQL \/ PDO\n    (mysqli) MySQL (mysqli)\n    (pgsql) PostgreSQL\n    (sqlite) SQLite\n\nType your choice []: mysql\nRequest persistent connections?\n    (1) Yes\n    (0) No\n\nType your choice [0]:\n\nUsername to connect to the database as* [] webmail\nPassword to connect with\nHow should we connect to the database?\n    (unix) UNIX Sockets\n    (tcp) TCP\/IP\n\nType your choice [unix]: unix\n\nLocation of UNIX socket [] \/var\/run\/mysqld\/mysqld.sock\n\nDatabase name to use* [] webmail\n\nInternally used charset* [utf-8]\n\nUse SSL to connect to the server?\n    (1) Yes\n    (0) No\n\nType your choice [0]:\n\nCertification Authority to use for SSL connections []\nSplit reads to a different server?\n    (false) Disabled\n    (true) Enabled\n\nType your choice [false]:\n\nWriting main configuration file... done.\n\nCreating and updating database tables... done.\n\nConfiguring administrator settings\n\nSpecify an existing server user who you want to give administrator\npermissions (optional): &lt;my -admin&gt;\n\nWriting main configuration file... done.\n\nThank you for using Horde Groupware Webserver Edition!\n<\/code><\/pre>\n<p>The settings can be found in the main config file <code>\/var\/www\/webmail\/config\/conf.php<\/code> in case we need to change anything.<\/p>\n<h3><span id=\"imap-configuration\">IMAP configuration<\/span><\/h3>\n<p>We create new local config file <code>\/var\/www\/webmail\/imp\/config\/backends.local.php<\/code> to tell Horde how to connect to the IMAP server (<code>courier-imap<\/code> already installed):<\/p>\n<pre><code class=\"php\">&lt;?php\n$servers['imap'] = array(\n    'disabled' =&gt; false,\n    'name' =&gt; 'IMAP Server',\n    'hostspec' =&gt; 'localhost',\n    'hordeauth' =&gt; 'false',\n    'protocol' =&gt; 'imap',\n    'port' =&gt; '443',\n    'secure' =&gt; 'tls',\n    'serverdomain' =&gt; '',\n    \/\/ 'smtphost' =&gt; '',\n    \/\/ 'smtpport' =&gt; '25',\n    'cache' =&gt; 'false',\n);\n<\/code><\/pre>\n<h3><span id=\"apache-configuration\">Apache configuration<\/span><\/h3>\n<p>Install and setup Apache:<\/p>\n<pre><code>root@server:~# aptitude install apache2 libapache2-mod-php5 libapache2-mod-geoip\n<\/code><\/pre>\n<p>Configure GeoIP module in the <code>\/etc\/apache2\/mods-enabled\/geoip.conf<\/code> file (needs <code>geoip-database<\/code> package installed):<\/p>\n<pre>\n<ifmodule mod_geoip.c>\n  GeoIPEnable On\n  GeoIPDBFile \/usr\/share\/GeoIP\/GeoIP.dat\n  GeoIPEnableUTF8 On\n  GeoIPOutput Env\n  GeoIPScanProxyHeaders On\n<\/ifmodule>\n<\/pre>\n<p>Edit the default host in <code>\/etc\/apache2\/sites-available\/default<\/code> file:<\/p>\n<pre>\n<virtualhost *:80>\n    #RewriteEngine On\n    #RewriteCond %{HTTPS} !=on\n    #RewriteRule ^(.*)$ https:\/\/server.mydomain.com$1\n    ServerName server.mydomain.com\n...\n    RedirectMatch 302 (?i)\/autodiscover\/autodiscover.xml https:\/\/server.mydomain.com\/autodiscover\/autodiscover.xml\n    <directory \"\/var\/www\/webmail\/\">\n        php_value include_path \/var\/www\/webmail\/pear\/php\n        SetEnv PHP_PEAR_SYSCONF_DIR \/var\/www\/webmail\n    <\/directory>\n<\/virtualhost>\n<\/pre>\n<p>Create the following file to set SSL access <code>\/etc\/apache2\/sites-available\/default-ssl<\/code>:<\/p>\n<pre>\n<ifmodule mod_ssl.c>\nSSLStrictSNIVhostCheck off\n \n<virtualhost _default_:443>\n    ServerName server.mydomain.com\n    ServerAdmin root@localhost\n    DocumentRoot \/var\/www\n \n    <directory><\/directory>\n        Options FollowSymLinks\n        AllowOverride None\n    \n    <directory \/var\/www><\/directory>\n        Options Indexes FollowSymLinks MultiViews\n        AllowOverride None\n        SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry\n        SetEnvIf GEOIP_COUNTRY_CODE KR BlockCountry\n        SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry\n        Order allow,deny\n        Allow from all\n        Deny from env=BlockCountry\n    \n \n    ScriptAlias \/cgi-bin\/ \/usr\/lib\/cgi-bin\/\n    <directory \"\/usr\/lib\/cgi-bin\">\n        AllowOverride None\n        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch\n        SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry\n        SetEnvIf GEOIP_COUNTRY_CODE KR BlockCountry\n        SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry\n        Order allow,deny\n        Allow from all\n        Deny from env=BlockCountry\n    <\/directory>\n \n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n \n    # Possible values include: debug, info, notice, warn, error, crit,\n    # alert, emerg.\n    LogLevel warn\n \n    CustomLog ${APACHE_LOG_DIR}\/ssl_access.log combined\n \n    Alias \/doc\/ \"\/usr\/share\/doc\/\"\n    <directory \"\/usr\/share\/doc\/\">\n        Options Indexes MultiViews FollowSymLinks\n        AllowOverride None\n        Order deny,allow\n        Deny from all\n        Allow from 127.0.0.0\/255.0.0.0 ::1\/128\n    <\/directory>\n \n    SSLEngine on\n    SSLCertificateFile    \/etc\/ssl\/private\/star_mydomain_com.pem\n    SSLCertificateKeyFile \/etc\/ssl\/private\/star_mydomain_com_KEY.pem\n    SSLCertificateChainFile \/etc\/ssl\/private\/DigiCertCA.pem\n \n    <filesmatch \"\\.(cgi|shtml|phtml|php)$\">\n        SSLOptions +StdEnvVars\n    <\/filesmatch>\n    <directory \/usr\/lib\/cgi-bin>\n        SSLOptions +StdEnvVars\n    <\/directory>\n \n    BrowserMatch \"MSIE [2-6]\" \\\n        nokeepalive ssl-unclean-shutdown \\\n        downgrade-1.0 force-response-1.0\n \n    # MSIE 7 and newer should be able to use keepalive\n    BrowserMatch \"MSIE [7-9]\" ssl-unclean-shutdown\n \n    ####\n    #### HORDE WEBMAIL ###\n    ####\n    Alias \/Microsoft-Server-ActiveSync \/var\/www\/webmail\/rpc.php   \n    ## Replace Alias with Rewrite in case of php via mod_fcgid\n    #RewriteRule ^\/Microsoft-Server-ActiveSync \/webmail\/rpc.php [PT,L,QSA]\n \n    RewriteRule .* - [E=HTTP_MS_ASPROTOCOLVERSION:%{HTTP:Ms-Asprotocolversion}]\n    RewriteRule .* - [E=HTTP_X_MS_POLICYKEY:%{HTTP:X-Ms-Policykey}]\n    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]\n \n    ## Autodiscovery\n    Alias \/autodiscover\/autodiscover.xml \/var\/www\/webmail\/rpc.php\n    Alias \/Autodiscover\/Autodiscover.xml \/var\/www\/webmail\/rpc.php\n    Alias \/AutoDiscover\/AutoDiscover.xml \/var\/www\/webmail\/rpc.php\n    <directory \"\/var\/www\/webmail\/\">\n        Options +FollowSymlinks\n        Order deny,allow\n        Allow from all\n        php_value include_path \/var\/www\/webmail\/pear\/php\n        SetEnv PHP_PEAR_SYSCONF_DIR \/var\/www\/webmail\n    <\/directory>\n    \n    ## Protect the APC GUI cache page\n    <files \"apc.php\">\n            AuthName Opcache-gui\n            AuthType Basic\n            AuthBasicProvider ldap\n            AuthBasicAuthoritative on\n            AuthLDAPURL \"ldap:\/\/ldap.mydomain.com ldapreplica.mydomain.com:389\/ou=Users,dc=mydomain,dc=com?uid\" STARTTLS\n            AuthLDAPBindDN cn=<my -ldap-user>,ou=Users,dc=mydomain,dc=com\n            AuthLDAPBindPassword <password>\n            AuthLDAPGroupAttribute memberUid\n            AuthLDAPGroupAttributeIsDN off\n            Require ldap-group cn=<my -ldap-group>,ou=Groups,dc=mydomain,dc=com\n            Require valid-user\n            Satisfy all\n    <\/my><\/password><\/my><\/files>\n<\/virtualhost>\n<\/ifmodule>\n<\/pre>\n<p>then enable the modules we are going need:<\/p>\n<pre><code>root@server:~# a2enmod ssl\nroot@server:~# a2enmod ldap\nroot@server:~# a2enmod authnz_ldap\n<\/code><\/pre>\n<p>check the configuration and restart Apache:<\/p>\n<pre><code>root@server:~# apache2ctl configtest\nroot@server:~# service apache2 restart\n<\/code><\/pre>\n<h3><span id=\"activesync\">ActiveSync<\/span><\/h3>\n<p>The following settings need to be present in the <code>\/var\/www\/webmail\/config\/conf.php<\/code> confgiuration file for Microsoft-Server-ActiveSync support:<\/p>\n<pre><code>$conf['activesync']['emailsync'] = true;\n$conf['activesync']['version'] = '14';\n$conf['activesync']['autodiscovery'] = 'full';\n$conf['activesync']['outlookdiscovery'] = false;\n$conf['activesync']['logging']['type'] = 'horde';\n$conf['activesync']['ping']['heartbeatmin'] = 60;\n$conf['activesync']['ping']['heartbeatmax'] = 2700;\n$conf['activesync']['ping']['heartbeatdefault'] = 480;\n$conf['activesync']['ping']['deviceping'] = true;\n$conf['activesync']['ping']['waitinterval'] = 15;\n$conf['activesync']['enabled'] = true;\n<\/code><\/pre>\n<p>and the following line to the apache SSL vhost as shown above:<\/p>\n<pre><code>Alias \/Microsoft-Server-ActiveSync \/var\/www\/webmail\/rpc.php\n<\/code><\/pre>\n<h2><span id=\"horde-tuning\">Horde Tuning<\/span><\/h2>\n<p>There couple of things we can do to optimize Horde&#8217;s performance.<\/p>\n<h3><span id=\"apc\">APC<\/span><\/h3>\n<p>Install and enable PHP APC code cache so the web server doesn&#8217;t have to re-parse the php code for each request:<\/p>\n<pre><code>root@server:~# aptitude install php-apc\n<\/code><\/pre>\n<p>this will enable the module in <code>\/etc\/php5\/conf.d\/apc.ini<\/code> file:<\/p>\n<pre><code>extension=apc.so\n<\/code><\/pre>\n<p>if not, on Debian\/Ubuntu systems we can enable manually by running:<\/p>\n<pre><code>root@server:~# php5enmod apc\n<\/code><\/pre>\n<p>then to configure it we create the following file <code>\/etc\/php5\/conf.d\/20-apc.ini<\/code>:<\/p>\n<pre><code>apc.shm_segments=1\napc.shm_size=64M\n;max amount of memory a script can occupy\napc.max_file_size=1M\napc.ttl=7200\napc.user_ttl=7200\napc.gc_ttl=3600\n; means we are always atomically editing the files\napc.file_update_protection=0\napc.enabled=1\napc.enable_cli=0\napc.cache_by_default=1\napc.filters = \"-\/var\/www\/webmail\/pear\/php\/apc\\.php$\"\napc.include_once_override=0\napc.localcache=1\napc.localcache.size=512\napc.num_files_hint=512\napc.report_autofilter=0\napc.rfc1867=0\napc.slam_defense=0\napc.stat=1\napc.stat_ctime=0\napc.use_request_time=1\napc.user_entries_hint=1024\napc.write_lock=1\napc.mmap_file_mask = \/tmp\/apc-encompass.XXXXXX\n<\/code><\/pre>\n<p>and restart Apache. This will expose the APC monitoring GUI at <code>\/var\/www\/webmail\/pear\/php\/apc.php<\/code> and to protect it we have setup the LDAP authentication as shown in the Apache SSL config <code>\/etc\/apache2\/sites-enabled\/default-ssl<\/code>.<\/p>\n<p>There are some user credentials in the <code>apc.php<\/code> file too which we can setup if we need to protect the page in case we don&#8217;t want to do that through apache:<\/p>\n<pre><code>defaults('ADMIN_USERNAME','apc');             \/\/ Admin Username\ndefaults('ADMIN_PASSWORD','password');        \/\/ Admin Password - CHANGE THIS TO ENABLE!!!\n<\/code><\/pre>\n<p>The moment we change the default password the authentication will get enabled.<\/p>\n<p>As mentioned above the APC is installed from ubuntu package repo. The newest version though is always available via php\/pecl:<\/p>\n<pre><code>root@server:~# pecl channel-update pecl.php.net\nUpdating channel \"pecl.php.net\"\nUpdate of Channel \"pecl.php.net\" succeeded\n\nroot@server:~# pecl search apc\nRetrieving data...0%\n.Matched packages, channel pecl.php.net:\n=======================================\nPackage Stable\/(Latest) Local\nAPC     3.1.13 (stable) 3.1.13 Alternative PHP Cache\nAPCu    4.0.7 (beta)           APCu - APC User Cache\n<\/code><\/pre>\n<h3><span id=\"autoload-caching-module\">Autoload caching module<\/span><\/h3>\n<p>To benefit from further optimizations we can install autolad caching module which links the php classes to file paths (so in case the php compiler finds missing class it can convert the name into file path and load the file containing the missing class):<\/p>\n<pre><code>root@server:~# \/var\/www\/webmail\/pear\/pear -c \/var\/www\/webmail\/pear.conf install -a -B horde\/horde_autoloader_cache\nhorde\/Horde_Autoloader_Cache can optionally use PHP extension \"eaccelerator\"\nhorde\/Horde_Autoloader_Cache can optionally use PHP extension \"xcache\"\ndownloading Horde_Autoloader_Cache-2.0.3.tgz ...\nStarting to download Horde_Autoloader_Cache-2.0.3.tgz (12,020 bytes)\n.....done: 12,020 bytes\ninstall ok: channel:\/\/pear.horde.org\/Horde_Autoloader_Cache-2.0.3\n<\/code><\/pre>\n<h3><span id=\"install-php-image-libraries\">Install PHP image libraries<\/span><\/h3>\n<p>We run:<\/p>\n<pre><code>root@server~# aptitude install libcurl4-openssl-dev libmagic-dev libimage-exiftool-perl\nroot@server~# pecl install pecl_http\n<\/code><\/pre>\n<p>and add:<\/p>\n<pre><code>extension=http.so\n<\/code><\/pre>\n<p>to the Apache PHP5 ini file <code>\/etc\/php5\/apache2\/php.ini<\/code> or into a new file <code>\/etc\/php5\/conf.d\/http.ini<\/code> that we create in the PHP5 config directory.<\/p>\n<h3><span id=\"enable-viewing-html-eservers\">Enable viewing HTML eservers<\/span><\/h3>\n<p>In the <code>\/var\/www\/webmail\/imp\/config\/mime_drivers.php<\/code> file find the following section:<\/p>\n<pre><code>...\n    \/* HTML driver settings *\/\n    'html' =&gt; array(\n        \/* NOTE: Inline HTML display is turned OFF by default. *\/\n        'inline' =&gt; false,\n        'handles' =&gt; array(\n            'text\/html'\n        ),\n...\n<\/code><\/pre>\n<p>and change <code>inline<\/code> to true.<\/p>\n<h2><span id=\"updating-horde\">Updating Horde<\/span><\/h2>\n<p>We have already done the first step at the beggining of the installation:<\/p>\n<pre><code>root@server:~# \/var\/www\/webmail\/pear\/pear -c \/var\/www\/webmail\/pear.conf channel-discover pear.horde.org\nAdding Channel \"pear.horde.org\" succeeded\nDiscovery of channel \"pear.horde.org\" succeeded\n<\/code><\/pre>\n<p>so we just need to execute the following two:<\/p>\n<pre><code>root@server:~# \/var\/www\/webmail\/pear\/pear -c \/var\/www\/webmail\/pear.conf remote-list -c horde\nroot@server:~# \/var\/www\/webmail\/pear\/pear -c \/var\/www\/webmail\/pear.conf upgrade -a -B horde\/webmail\n<\/code><\/pre>\n<p>Then login to the Horde admin console as the administrator user we set upon installation, go to the Configuration screen under Administration and click on &#8220;Upgrade all DB schemas&#8221; button.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Horde Groupware Webserver Edition is a free, enterprise ready, browser based communication suite. Users can read, send and organize server messages and manage and share calendars, contacts, tasks, notes, files and bookmarks. It can be extended with any of the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-196","post","type-post","status-publish","format-standard","hentry","category-server"],"_links":{"self":[{"href":"https:\/\/icicimov.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icicimov.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icicimov.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icicimov.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/icicimov.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=196"}],"version-history":[{"count":2,"href":"https:\/\/icicimov.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/196\/revisions"}],"predecessor-version":[{"id":267,"href":"https:\/\/icicimov.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/196\/revisions\/267"}],"wp:attachment":[{"href":"https:\/\/icicimov.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icicimov.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icicimov.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}