Installation failed with 3.0.1 - error message : Website time zone is not valid

Hi,

While trying to install 3.0.1 in the initial setup in the “Setup a Website” page, I do use my website name, then my website url and after that I do have a line “Website time zone” with nothing else on the line and “Ecommerce” with nothing else on the line.

I try to click on Next but a error message appears: Website time zone is not valid

Any clue?
Regards,
Carl

Hi,
having the same issue. Did you manage to resolve it?
Regards,
Paul

This is an bug that can’t be reproduced reliably enough to fix it. You can find more information here: Installation fails on 3.0.2-b2 : Website time zone is not valid · Issue #11310 · piwik/piwik · GitHub

For most users it helped using an other browser than Firefox or checking the date.timezone setting in php.ini.

As reported on github, this is also happening on 3.0.4:

Tried setting date.timezone in php.ini (even tried a few).

Same behavior with Chrome and Firefox.

The <select> tag is there in the HTML, but it’s not being displayed for some reason. Might be related to the javascript error/s below.

Errors in chrome console (which prevents Next from succeeding, resulting in the same error as others have complained about):

index.php:331 Uncaught SyntaxError: Unexpected token return
menudropdown.directive.js:20 Uncaught ReferenceError: angular is not defined
    at menudropdown.directive.js:20
    at menudropdown.directive.js:76
languageselector.directive.js:14 Uncaught ReferenceError: angular is not defined
    at languageselector.directive.js:14
    at languageselector.directive.js:36

Here’s the entire HTML from index.php (some clipped so I could post):

<!DOCTYPE html>
<html id="ng-app" ng-app="piwikApp">
<head>
    <meta charset="utf-8">
    <meta name="robots" content="noindex,nofollow">
    <title>Piwik 3.0.4 &rsaquo; Installation</title>

    <link rel="stylesheet" type="text/css" href="index.php?module=Installation&amp;action=getInstallationCss&amp;cb=ab82c878009c11737d9de5de9a43f1b1" />
    <script type="text/javascript" src="index.php?module=Installation&amp;action=getInstallationJs&amp;cb=a4c6a5725baaaddd52b68ca0aa68b277"></script>

    <link rel="shortcut icon" href="plugins/CoreHome/images/favicon.png"/>
</head>
<body ng-app="app" id="installation">

<div class="container">

    <div class="header">
        <div class="logo">
            <img title="Piwik 3.0.4 - free&#x2F;libre&#x20;analytics&#x20;platform" src="plugins/Morpheus/images/logo.png"/>
            <p>free/libre analytics platform</p>
        </div>
        <div class="language-selector">
            <script type='text/javascript'>if (!window.piwik) window.piwik={};</script><script type="text/javascript" src="plugins/CoreHome/angularjs/menudropdown/menudropdown.directive.js?cb=a4c6a5725baaaddd52b68ca0aa68b277"></script><script type="text/javascript" src="plugins/LanguagesManager/angularjs/languageselector/languageselector.directive.js?cb=a4c6a5725baaaddd52b68ca0aa68b277"></script><div class="languageSelection"
     ng-cloak
     menu-title="English"
     piwik-menudropdown>
    <a class="item"
        href="?module=Proxy&amp;action=redirect&amp;url=http://piwik.org/translations/">About Piwik translations</a>
            <a class="item "
           value="am"
           title="አማርኛ (Amharic)">አማርኛ</a>
            <a class="item "
           value="ar"
           title="العربية (Arabic)">العربية</a>
            <a class="item "
           value="be"
           title="Беларуская (Belarusian)">Беларуская</a>
            <a class="item "
           value="bg"
           title="Български (Bulgarian)">Български</a>
            <a class="item "
           value="bn"
           title="বাংলা (Bangla)">বাংলা</a>
            <a class="item "
           value="bs"
           title="Bosanski (Bosnian)">Bosanski</a>
            <a class="item "
           value="ca"
           title="Català (Catalan)">Català</a>
            <a class="item "
           value="cs"
           title="Čeština (Czech)">Čeština</a>
            <a class="item "
           value="cy"
           title="Cymraeg (Welsh)">Cymraeg</a>
            <a class="item "
           value="da"
           title="Dansk (Danish)">Dansk</a>
            <a class="item "
           value="de"
           title="Deutsch (German)">Deutsch</a>
            <a class="item "
           value="el"
           title="Ελληνικά (Greek)">Ελληνικά</a>
            <a class="item active"
           value="en"
           title="English (English)">English</a>
            <a class="item "
           value="es"
           title="Español (Spanish)">Español</a>
            <a class="item "
           value="et"
           title="Eesti (Estonian)">Eesti</a>
            <a class="item "
           value="eu"
           title="Euskara (Basque)">Euskara</a>
            <a class="item "
           value="fa"
           title="فارسی (Persian)">فارسی</a>
            <a class="item "
           value="fi"
           title="Suomi (Finnish)">Suomi</a>
            <a class="item "
           value="fr"
           title="Français (French)">Français</a>
            <a class="item "
           value="gl"
           title="Galego (Galician)">Galego</a>
            <a class="item "
           value="he"
           title="עברית (Hebrew)">עברית</a>
            <a class="item "
           value="hi"
           title="हिन्दी (Hindi)">हिन्दी</a>
            <a class="item "
           value="hr"
           title="Hrvatski (Croatian)">Hrvatski</a>
            <a class="item "
           value="hu"
           title="Magyar (Hungarian)">Magyar</a>
            <a class="item "
           value="id"
           title="Indonesia (Indonesian)">Indonesia</a>
            <a class="item "
           value="is"
           title="Íslenska (Icelandic)">Íslenska</a>
            <a class="item "
           value="it"
           title="Italiano (Italian)">Italiano</a>
            <a class="item "
           value="ja"
           title="日本語 (Japanese)">日本語</a>
            <a class="item "
           value="ka"
           title="ქართული (Georgian)">ქართული</a>
            <a class="item "
           value="ko"
           title="한국어 (Korean)">한국어</a>
            <a class="item "
           value="lt"
           title="Lietuvių (Lithuanian)">Lietuvių</a>
            <a class="item "
           value="lv"
           title="Latviešu (Latvian)">Latviešu</a>
            <a class="item "
           value="nb"
           title="Norsk bokmål (Norwegian Bokmål)">Norsk bokmål</a>
            <a class="item "
           value="nl"
           title="Nederlands (Dutch)">Nederlands</a>
            <a class="item "
           value="nn"
           title="Nynorsk (Norwegian Nynorsk)">Nynorsk</a>
            <a class="item "
           value="pl"
           title="Polski (Polish)">Polski</a>
            <a class="item "
           value="pt-br"
           title="Português (Brasil) (Brazilian Portuguese)">Português (Brasil)</a>
            <a class="item "
           value="pt"
           title="Português (Portuguese)">Português</a>
            <a class="item "
           value="ro"
           title="Română (Romanian)">Română</a>
            <a class="item "
           value="ru"
           title="Русский (Russian)">Русский</a>
            <a class="item "
           value="sk"
           title="Slovenčina (Slovak)">Slovenčina</a>
            <a class="item "
           value="sl"
           title="Slovenščina (Slovenian)">Slovenščina</a>
            <a class="item "
           value="sq"
           title="Shqip (Albanian)">Shqip</a>
            <a class="item "
           value="sr"
           title="Српски (Serbian)">Српски</a>
            <a class="item "
           value="sv"
           title="Svenska (Swedish)">Svenska</a>
            <a class="item "
           value="ta"
           title="தமிழ் (Tamil)">தமிழ்</a>
            <a class="item "
           value="te"
           title="తెలుగు (Telugu)">తెలుగు</a>
            <a class="item "
           value="th"
           title="ไทย (Thai)">ไทย</a>
            <a class="item "
           value="tl"
           title="Tagalog (Tagalog)">Tagalog</a>
            <a class="item "
           value="tr"
           title="Türkçe (Turkish)">Türkçe</a>
            <a class="item "
           value="uk"
           title="Українська (Ukrainian)">Українська</a>
            <a class="item "
           value="vi"
           title="Tiếng Việt (Vietnamese)">Tiếng Việt</a>
            <a class="item "
           value="zh-cn"
           title="简体中文 (Simplified Chinese)">简体中文</a>
            <a class="item "
           value="zh-tw"
           title="繁體中文 (Traditional Chinese)">繁體中文</a>
    
    <form action="index.php?module=LanguagesManager&amp;action=saveLanguage" method="post">
        <input type="hidden" name="language" id="language">
                <input type="hidden" name="token_auth" value="anonymous"/>    </form>
</div>

        </div>

        <div class="installation-progress">
            <h4>
                Installation status
                <small>71%</small>
            </h4>
            <div class="progress">
                <div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 71%;"></div>
            </div>
        </div>

        <div class="clearfix"></div>
    </div>

    <div class="row">
        <div class="col s3">
            <ul class="list-group">
                                                                                                    <li class="list-group-item disabled">1. Welcome!</li>
                                                                                                    <li class="list-group-item disabled">2. System Check</li>
                                                                                                    <li class="list-group-item disabled">3. Database Setup</li>
                                                                                                    <li class="list-group-item disabled">4. Creating the Tables</li>
                                                                                                    <li class="list-group-item disabled">5. Super User</li>
                                                                                                    <li class="list-group-item active">6. Setup a Website</li>
                                                                                                    <li class="list-group-item ">7. JavaScript Tracking Code</li>
                                                                                                    <li class="list-group-item ">8. Congratulations</li>
                            </ul>
        </div>
        <div class="col s9 content">
                        
            
    <h2>Setup a Website</h2>

            <div id="feedback" class="alert alert-success">
            Super User created successfully!
        </div>
    
    <p>Please setup the first website you would like to track and analyse with Piwik:</p>

    
            
<form  action="?action=firstWebsiteSetup&amp;module=Installation&amp;deleteTables=1" name="websitesetupform" id="websitesetupform" method="post">
        

                        <div class="row form-group">
                <div class="col s12 m12 l6">
                                            <label>
                            Website name
                        </label>
                        <input type="text" name="siteName" id="siteName-0" />
                                    </div>
            </div>
                                <div class="row form-group">
                <div class="col s12 m12 l6">
                                            <label>
                            Website URL
                        </label>
                        <input type="text" name="url" id="url-0" style="color:rgb(153, 153, 153);" onfocus="javascript:if (this.value==&#039;http://example.org&#039;){this.value=&#039;http://&#039;;} this.style.color=&#039;black&#039;;" onclick="javascript:if (this.value==&#039;http://example.org&#039;){this.value=&#039;http://&#039;;} this.style.color=&#039;black&#039;;" value="http://example.org" />
                                    </div>
            </div>
                                <div class="row form-group">
                <div class="col s12 m12 l6">
                                            <label>
                            Website time zone
                        </label>
                        <select name="timezone" id="timezone-0">
	<option value="No timezone">Select a city</option>
	<optgroup label="Africa">
		<option value="Africa/Abidjan">Abidjan</option>
		<option value="Africa/Accra">Accra</option>
		<option value="Africa/Addis_Ababa">Addis Ababa</option>
		<option value="Africa/Algiers">Algiers</option>
		<option value="Africa/Asmara">Asmara</option>
		<option value="Africa/Bamako">Bamako</option>
		<option value="Africa/Bangui">Bangui</option>
		<option value="Africa/Banjul">Banjul</option>
		<option value="Africa/Bissau">Bissau</option>
		<option value="Africa/Blantyre">Blantyre</option>
		<option value="Africa/Brazzaville">Brazzaville</option>
		<option value="Africa/Bujumbura">Bujumbura</option>
		<option value="Africa/Cairo">Cairo</option>
		<option value="Africa/Casablanca">Casablanca</option>
		<option value="Africa/Ceuta">Ceuta</option>
		<option value="Africa/Conakry">Conakry</option>
		<option value="Africa/Dakar">Dakar</option>
		<option value="Africa/Dar_es_Salaam">Dar es Salaam</option>
		<option value="Africa/Djibouti">Djibouti</option>
		<option value="Africa/Douala">Douala</option>
		<option value="Africa/El_Aaiun">El Aaiun</option>
		<option value="Africa/Freetown">Freetown</option>
		<option value="Africa/Gaborone">Gaborone</option>
		<option value="Africa/Harare">Harare</option>
		<option value="Africa/Johannesburg">Johannesburg</option>
		<option value="Africa/Juba">Juba</option>
		<option value="Africa/Kampala">Kampala</option>
		<option value="Africa/Khartoum">Khartoum</option>
		<option value="Africa/Kigali">Kigali</option>
		<option value="Africa/Kinshasa">Kinshasa</option>
		<option value="Africa/Lagos">Lagos</option>
		<option value="Africa/Libreville">Libreville</option>
		<option value="Africa/Lome">Lome</option>
		<option value="Africa/Luanda">Luanda</option>
		<option value="Africa/Lubumbashi">Lubumbashi</option>
		<option value="Africa/Lusaka">Lusaka</option>
		<option value="Africa/Malabo">Malabo</option>
		<option value="Africa/Maputo">Maputo</option>
		<option value="Africa/Maseru">Maseru</option>
		<option value="Africa/Mbabane">Mbabane</option>
		<option value="Africa/Mogadishu">Mogadishu</option>
		<option value="Africa/Monrovia">Monrovia</option>
		<option value="Africa/Nairobi">Nairobi</option>
		<option value="Africa/Ndjamena">Ndjamena</option>
		<option value="Africa/Niamey">Niamey</option>
		<option value="Africa/Nouakchott">Nouakchott</option>
		<option value="Africa/Ouagadougou">Ouagadougou</option>
		<option value="Africa/Porto-Novo">Porto-Novo</option>
		<option value="Africa/Sao_Tome">Sao Tome</option>
		<option value="Africa/Tripoli">Tripoli</option>
		<option value="Africa/Tunis">Tunis</option>
		<option value="Africa/Windhoek">Windhoek</option>
	</optgroup>
	<optgroup label="America">
		<option value="America/Adak">Adak</option>
		
		<option value="America/Yellowknife">Yellowknife</option>
	</optgroup>
	<optgroup label="Antarctica">
		<option value="Antarctica/Casey">Casey</option>
		<option value="Antarctica/Davis">Davis</option>
		<option value="Antarctica/DumontDUrville">DumontDUrville</option>
		<option value="Antarctica/Macquarie">Macquarie</option>
		<option value="Antarctica/Mawson">Mawson</option>
		<option value="Antarctica/McMurdo">McMurdo</option>
		<option value="Antarctica/Palmer">Palmer</option>
		<option value="Antarctica/Rothera">Rothera</option>
		<option value="Antarctica/Syowa">Syowa</option>
		<option value="Antarctica/Troll">Troll</option>
		<option value="Antarctica/Vostok">Vostok</option>
	</optgroup>
	<optgroup label="Arctic">
		<option value="Arctic/Longyearbyen">Longyearbyen</option>
	</optgroup>
	<optgroup label="Asia">
		<option value="Asia/Aden">Aden</option>
		
		<option value="Asia/Yerevan">Yerevan</option>
	</optgroup>
	<optgroup label="Atlantic">
		<option value="Atlantic/Azores">Azores</option>
		<option value="Atlantic/Bermuda">Bermuda</option>
		<option value="Atlantic/Canary">Canary</option>
		<option value="Atlantic/Cape_Verde">Cape Verde</option>
		<option value="Atlantic/Faroe">Faroe</option>
		<option value="Atlantic/Madeira">Madeira</option>
		<option value="Atlantic/Reykjavik">Reykjavik</option>
		<option value="Atlantic/South_Georgia">South Georgia</option>
		<option value="Atlantic/St_Helena">St Helena</option>
		<option value="Atlantic/Stanley">Stanley</option>
	</optgroup>
	<optgroup label="Australia">
		<option value="Australia/Adelaide">Adelaide</option>
		<option value="Australia/Brisbane">Brisbane</option>
		<option value="Australia/Broken_Hill">Broken Hill</option>
		<option value="Australia/Currie">Currie</option>
		<option value="Australia/Darwin">Darwin</option>
		<option value="Australia/Eucla">Eucla</option>
		<option value="Australia/Hobart">Hobart</option>
		<option value="Australia/Lindeman">Lindeman</option>
		<option value="Australia/Lord_Howe">Lord Howe</option>
		<option value="Australia/Melbourne">Melbourne</option>
		<option value="Australia/Perth">Perth</option>
		<option value="Australia/Sydney">Sydney</option>
	</optgroup>
	<optgroup label="Europe">
		<option value="Europe/Amsterdam">Amsterdam</option>
		
		<option value="Europe/Zurich">Zurich</option>
	</optgroup>
	<optgroup label="Indian">
		<option value="Indian/Antananarivo">Antananarivo</option>
		
		<option value="Pacific/Wallis">Wallis</option>
	</optgroup>
	<optgroup label="UTC">
		<option value="UTC-12">UTC-12</option>
		
		<option value="UTC+14">UTC+14</option>
	</optgroup>
</select>
                                    </div>
            </div>
                                <div class="row form-group">
                <div class="col s12 m12 l6">
                                            <label>
                            Ecommerce
                        </label>
                        <select name="ecommerce" id="ecommerce-0">
	<option value="0">Not an Ecommerce site</option>
	<option value="1">Ecommerce enabled</option>
</select>
                                    </div>
            </div>
            
            <div class="row">
            <div class="col s12">
                <input type="submit" value="Next »" class="btn" name="submit" id="submit-0" />
            </div>
        </div>
    </form>
        <div class="clearfix"></div>

    <p><em>Note: once the Piwik Install is finished, you will be able to add more Websites to track!</em></p>


                    </div>
    </div>

</div>

</body>
</html>

Here’s the menudropdown.directive.js:

/*!
 * Piwik - free/libre analytics platform
 *
 * @link http://piwik.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 */

/**
 * Usage:
 * <div piwik-menudropdown menu-title="MyMenuItem" tooltip="My Tooltip" show-search="false">
 *     <a class="item" href="/url">An Item</a>
 *     <a class="item disabled">Disabled</a>
 *     <a class="item active">Active item</a>
 *     <hr class="item separator"/>
 *     <a class="item disabled category">Category</a>
 *     <a class="item" href="/url"></a>
 * </div>
 */
(function () {
    angular.module('piwikApp').directive('piwikMenudropdown', piwikMenudropdown);

    function piwikMenudropdown(){

        return {
            transclude: true,
            replace: true,
            restrict: 'A',
            scope: {
                menuTitle: '@',
                tooltip: '@',
                showSearch: '=',
                menuTitleChangeOnClick: '='
            },
            templateUrl: 'plugins/CoreHome/angularjs/menudropdown/menudropdown.directive.html?cb=' + piwik.cacheBuster,
            link: function(scope, element, attrs) {

                scope.selectItem = function (event) {
                    var $self = angular.element(event.target);

                    if (!$self.hasClass('item') || $self.hasClass('disabled') || $self.hasClass('separator')) {
                        return;
                    }

                    if (scope.menuTitleChangeOnClick !== false) {
                        scope.menuTitle = $self.text().replace(/[\u0000-\u2666]/g, function(c) {
                            return '&#'+c.charCodeAt(0)+';';
                        });
                    }
                    scope.$eval('view.showItems = false');

                    setTimeout(function () {
                        scope.$apply();
                    }, 0);

                    element.find('.item').removeClass('active');
                    $self.addClass('active');
                };

                scope.searchItems = function (searchTerm)
                {
                    searchTerm = searchTerm.toLowerCase();

                    element.find('.item').each(function (index, node) {
                        var $node = angular.element(node);

                        if (-1 === $node.text().toLowerCase().indexOf(searchTerm)) {
                            $node.hide();
                        } else {
                            $node.show();
                        }
                    });
                };
            }
        };
    }
})();

and lastly languageselector.directive.js:

/*!
 * Piwik - free/libre analytics platform
 *
 * @link http://piwik.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 */

/**
 * Usage:
 * <div class="languageSelection">
 * </div>
 */
(function () {
    angular.module('piwikApp').directive('languageSelection', languageSelection);

    function languageSelection() {

        return {
            restrict: 'C',
            link: function(scope, element, attr, ctrl) {

                function postLanguageChange () {
                    var value = $(this).attr('value');
                    if (value) {
                        element.find('#language').val(value).parents('form').submit();
                    }
                }

                element.on('click', 'a[value]', postLanguageChange);
                scope.$on('$destroy', function() {
                    element.off('click', 'a[value]', postLanguageChange);
                });
            }
        };
    }
})();